我正在用C#进行套接字编程。我只是连接服务器并接收文本。问题是,例如,如果我连接和断开与服务器的连接5次并再次连接(即6),则当我从服务器接收数据时,服务器向我发送文本6次。
我通过这种方法连接服务器:
public void ConnectToServer(string host, int ip)
{
try
{
_socket.Connect(host, ip);
StartReceive();
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}
连接后,我得到了想要的东西。当我想使用这种方法断开连接时:
public void DisconnectFromServer()
{
_socket.Shutdown(SocketShutdown.Both);
_socket.Disconnect(true);
}
断开连接后,有时我使用ConnectToServer(..)方法重新连接服务器。当我从服务器接收数据时,服务器两次向我发送相同的数据。
我的插座是这个:
private Socket _socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
我想念什么?如何与服务器断开连接?或服务器有问题?
有什么建议吗?