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

 
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); // раскидка шариков по лункам
        }
    }


покажите пожалуйста как сделать или на инфу какую нибудь дельную закиньте. Спасибо
Kommentare (1)
ava
jonie | 20.06.2013, 00:53 #
ну для начала судя по тому что у вас в коде вы залочили поток UI бесконечным циклом, стало быть не работает отрисовка формы (форма повисает) и вообще взаимодействие с ней. Вам надо цикл приёма сообщений с сети выносить в отдельный поток (например, используя класс Task<T>) и оттуда уже используя маршалинг (гуглите про Invoke метод) дергать какие надо методы UI.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  jonie   SDaniel
advanced
Absenden