Вызвать функцию не нажимая кнопку

 
0
 
.NET
ava
SDaniel | 22.03.2013, 06:31
Доброго времени суток !
Почти написали одну игру(типа нарды), она сетевая, но когда клиент сделает какойто ход , то на сервере дожно вызваться функция повторения хода клиента, но эта функция не вызывается. Я делаю так функцию вызываю при загрузке формы, но нечего...
Вот код :

private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Server.ReceiveMessage(this);
        }

сам метод:

static public void ReceiveMessage(MainWindow obj)
    {
        while (true)
        {
            byte[] buffer = new byte[100];
            _ns.Read(buffer, 0, buffer.Length);
            int i = Convert.ToInt32(Encoding.ASCII.GetString(buffer));
            AnimaRazd AR = new AnimaRazd(obj, i); // раскидка шариков по лункам
        }
    }


покажите пожалуйста как сделать или на инфу какую нибудь дельную закиньте. Спасибо
Comments (1)
ava
jonie | 20.06.2013, 00:53 #
ну для начала судя по тому что у вас в коде вы залочили поток UI бесконечным циклом, стало быть не работает отрисовка формы (форма повисает) и вообще взаимодействие с ней. Вам надо цикл приёма сообщений с сети выносить в отдельный поток (например, используя класс Task<T>) и оттуда уже используя маршалинг (гуглите про Invoke метод) дергать какие надо методы UI.
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  jonie   SDaniel
advanced
Submit