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 に答える