gpt4 book ai didi

C# Socket 没有正确断开连接

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:15 27 4
gpt4 key购买 nike

我正在为游戏 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 );

最佳答案

我不知道 Minecraft 的 API 是什么样子,但很可能您需要先向客户端发送一条命令,让他们知道他们已断开连接。

关于C# Socket 没有正确断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com