0

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

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);

任何帮助是极大的赞赏。

4

2 回答 2

3

ReceiveTimeout在您的Socket对象上设置属性。

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.receivetimeout.aspx

于 2012-04-22T13:38:53.417 回答
0

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

于 2012-04-22T13:44:23.080 回答