如何在socketclient等待套接字服务器响应(即TimeOut)时中止

时间:2012-04-22 13:33:36

标签: c#

我编写了一个套接字客户端,它将数据发送到套接字服务器,并等待套接字服务器对接收到的数据大小的响应。对于错误处理,如果套接字客户端等待的时间太长,我希望它像超时因素一样中止连接。我怎么做。这是我的代码:

clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
clientSocket.Connect(new IPEndPoint(IPAddress.Parse(host), port));

clientSocket.Send(Encoding.ASCII.GetBytes(data));

// Get the total length
clientSocket.Receive(data);

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

据我所知,您使用的是TCP。 TCP确保可靠的交付。 即如果服务器关闭,则在“clientSocket”中获得零值。 此外,如果您想从服务器显式发送数据,您可以通过{ReceiveTimout}属性在服务器端和客户端双方设置超时。