У меня есть 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, чтобы он работал примерно так, как мне нужно. Единственная проблема - это подтверждение отключений пользователей, чтобы я мог удалить пользователя из списка клиентов, который я настроил на сервере. Также при подтверждении разрыва соединения я могу информировать других клиентов.
спасибо всем!