Asynch Socket Server и AS3 Flash Application - Отключение пользователя не обрабатывается - PullRequest
1 голос
/ 19 сентября 2011

У меня есть 2 набора кода для вас, оба доступны на PasteBin здесь:

Первый - это мой c # сокет-сервер: http://pastebin.com/wvT4f19m

Во-вторых, мой код в приложении AS3: http://pastebin.com/bKvabFSP

В коде я пытаюсь сделать простую отправку / получение, чтобы увидеть, что происходит. Если я открою свое приложение в 2 случаях, сервер сокетов c # обнаружит, что они существуют, и все в порядке! Если я закрываю один из моих экземпляров, сервер c # все еще думает, что пользователь существует, а сокет не закрыт.

Мой код основан на примере: http://msdn.microsoft.com/en-us/library/fx6588te.aspx

В примере с MS следующие функции добавляются в функцию SendCallBack ():

handler.Shutdown(SocketShutdown.Both);<br> handler.Close();

Это определенно закрывает сокеты, чего я не хочу, чтобы это произошло.

Я новичок в программировании сокетов, и мне потребовалось немало времени, чтобы поиграть с примером MS, чтобы он работал примерно так, как мне нужно. Единственная проблема - это подтверждение отключений пользователей, чтобы я мог удалить пользователя из списка клиентов, который я настроил на сервере. Также при подтверждении разрыва соединения я могу информировать других клиентов.

спасибо всем!

Ответы [ 2 ]

1 голос
/ 27 октября 2011

При каждой попытке отправить данные пользователю, я делаю быструю проверку на успешную передачу / опрос пользователя, и в случае неудачи пользователь удаляется с моего сервера.

0 голосов
/ 19 сентября 2011

Закрытие сокета не повлияет на слушателя, оно повлияет только на текущее соединение. Почему вы говорите, что это не то, что вы хотите?

Похоже, это именно то, что вы хотите.

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