【发布时间】:2010-11-25 18:24:12
【问题描述】:
我正在为游戏 Minecraft 开发服务器,当玩家断开连接时会显示暗红色屏幕。我正在像这样断开玩家的连接:
Socket.Shutdown( SocketShutdown.Both );
Socket.Close();
之后我似乎无法写入数据,但没有出现断开连接的屏幕。它仅在我完全终止服务器应用程序时出现,这表明连接根本没有关闭。
我做错了什么?
编辑:
socket.BeginAccept( new AsyncCallback( AcceptClient ), null );
private void AcceptClient( IAsyncResult result )
{
try
{
// Initialize player
Socket client = _socket.EndAccept( result );
.
Log( "Received unrecognized packet from " + player.IPAddress() + ", disconnecting client!" );
player.Disconnect();
_clients.Remove( player );
【问题讨论】:
-
如何检测客户端断开连接?
标签: c# .net sockets disconnect