質問編集履歴
3
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
メインのインターフェースは固定回線で、サブのインターフェースにモバイル回線をつなげており、同時に別々のインターフェースでアクセスしたいので以下のコードを試しました。
|
2
2
|
Windowsでデフォルトのルーティングがメイン回線のほうに設定してあるのでインターフェースを指定しない場合はメイン回線での通信となります。
|
3
|
-
ここで`ServicePointManager.MaxServicePointIdleTime = 0;`の行を入れない場合は同じServicePointオブジェクトが使いまわされてしまいどちらも最初に作られるモバイル回線を設定したServicePointが使われてしまうのですが、その行を入れるときちんと別々の
|
3
|
+
ここで`ServicePointManager.MaxServicePointIdleTime = 0;`の行を入れない場合は同じServicePointオブジェクトが使いまわされてしまいどちらも最初に作られるモバイル回線を設定したServicePointが使われてしまうのですが、その行を入れるときちんと別々のServicePointオブジェクトが作られてServicePointのハッシュコードも別々となり別々のインターフェースでアクセスとなります。
|
4
4
|
なぜアイドル時間を0にするとServicePointが新たに作られるような動作になるのでしょうか。
|
5
5
|
|
6
6
|
```C#
|
2
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
メインのインターフェースは固定回線で、サブのインターフェースにモバイル回線をつなげており、同時に別々のインターフェースでアクセスしたいので以下のコードを試しました。
|
2
2
|
Windowsでデフォルトのルーティングがメイン回線のほうに設定してあるのでインターフェースを指定しない場合はメイン回線での通信となります。
|
3
|
-
ここで`ServicePointManager.MaxServicePointIdleTime = 0;`の行を入れない場合は
|
3
|
+
ここで`ServicePointManager.MaxServicePointIdleTime = 0;`の行を入れない場合は同じServicePointオブジェクトが使いまわされてしまいどちらも最初に作られるモバイル回線を設定したServicePointが使われてしまうのですが、その行を入れるときちんと別々の接続が作られてServicePointのハッシュコードも別々となり別々のインターフェースでアクセスとなります。
|
4
4
|
なぜアイドル時間を0にするとServicePointが新たに作られるような動作になるのでしょうか。
|
5
5
|
|
6
6
|
```C#
|
1
無駄なコードを削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -85,7 +85,6 @@
|
|
85
85
|
}
|
86
86
|
|
87
87
|
Console.WriteLine("[2]" + Regex.Match(htmlSource, @"\d+.\d+.\d+.\d+").Value);
|
88
|
-
req.ServicePoint.BindIPEndPointDelegate = null;
|
89
88
|
}
|
90
89
|
|
91
90
|
// 非同期の1回目リクエストが終わるのを待つ
|