![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
DenwerD |
|
||||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 27.3.2008 Репутация: нет Всего: нет |
Доброго времени суток.
Пишу Udp сервер(UdpServer) принимающей частью служет System.Net.UdpClient - создаётся он в конструкторе UdpServer. Даннные на UdpClient принимается асинхронно. У UdpServer есть метод Start() который запускает метод UdpClient.BeginReceive Так же у UdpServer есть метод Restart который должен если произошли изминения (например порт сменился) должен пересоздать UdpClent Вот метод Restart
В результате его вызова генерируется исключение в следующем методе
Подскажите как можно этого избежать. Нормально закрыть сокет. А потом создать новый но уже на другом порту или адресе. Или есть другие способы пересадить UdpClient на другой адрес или порт? Заранее спасибо |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
перед рестартом привести всё в синхронизированное состояние - EndRecive вызвать имхо, а уже потом только "глушить" сервер и пересаздовать...
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
DenwerD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 27.3.2008 Репутация: нет Всего: нет |
EndReceive конечно хорошо и правильно, но вот только вызывать его надо в методе (udpReceiveMessageCallback) переданный в BeginReceive в качестве коллбэка и передавать ему (EndReceive -у) в качестве аргумента результат асинхронной операции, а где же я его возьму если рестарт у меня в другом методе. Вот такой вот геморой. Может кто нибудь знает как заглушить асинхронную операцию не из коллбэка а из другого метода |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |