WP7 - архитектура сокетов - Как управлялось соединение сокетов? Потоки? - PullRequest
1 голос
/ 15 марта 2012

Я должен реализовать асинхронное сокетное соединение с сервером для обновления текста (например, чата) и отображать этот текст на экране моего приложения.

Я видел несколько примеров того, как я могу реализовать такие сокеты, и это не сложная задача ... но я ищу улучшения моей программы.

Я думаю, что, возможно, мне нужно управлять подключением в фоновом режиме, и я понятия не имею, как я могу реализовать эту задачу ... Это хорошая идея? управлять интерфейсом в одном потоке и подключением в другом ???

Если бы кто-то мог сориентироваться на такую ​​задачу?

Спасибо.

1 Ответ

2 голосов
/ 15 марта 2012

Так как классический сокет ввода-вывода блокируется, вам определенно нужно будет переместить код ввода-вывода в другой поток, так как в противном случае ваш поток пользовательского интерфейса будет заблокирован и не сможет получать пользовательский ввод.так что вам нужна другая нить.Проблема, которая появляется сейчас, состоит в том, что этот поток не может самостоятельно обновлять пользовательский интерфейс, если какой-то ввод поступает из сокета, потому что это может сделать только поток пользовательского интерфейса.Для этого вам понадобится вызов Dispatcher.BeginInvoke для пересылки обновлений в поток пользовательского интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...