回答編集履歴

1

サンプルコードを追記

2016/05/27 00:43

投稿

tkanda
tkanda

スコア2425

test CHANGED
@@ -3,3 +3,33 @@
3
3
 
4
4
 
5
5
  つまり、Tcp接続が成功/失敗したかどうかにかかわらず、単に非同期の接続処理が終わった時点で true に変化するだけ。接続されたか失敗したかは、TcpClient.Connected を調べる必要がある、ということだと思います。
6
+
7
+
8
+
9
+ ###TcpClientの接続タイムアウトを制御するサンプル
10
+
11
+
12
+
13
+ ```C#
14
+
15
+ var client = new TcpClient();
16
+
17
+ var result = client.BeginConnect(server_host, server_port, null, null);
18
+
19
+ var success = result.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(10));
20
+
21
+ if (success)
22
+
23
+ {
24
+
25
+ Console.WriteLine("connected!");
26
+
27
+ client.EndConnect(result);
28
+
29
+ } else {
30
+
31
+ Console.WriteLine("connection timed out!");
32
+
33
+ }
34
+
35
+ ```