私はゲームのサーバーで作業していますMinecraft、プレーヤーが接続されていないときは暗赤色の画面が表示されます。私はこのようなプレーヤーを切断しています:C#ソケットが正しく切断されない
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);
クライアントでの切断をどのように検出しますか? – jgauffin
私はクライアントを書いていません。 – Overv