0

次の点を考慮してください。

IPEndPoint ep = new IPEndPoint(ip, 0);
TcpClient tcpClient = new TcpClient (ep);
tcpClient.Connect(ep);

tcpClient最初に にバインドしep、 に接続するように に指示する必要があるのはなぜですかepConnect()すでにバインドされているエンドポイントに比べて、私は奇妙に思えます。

4

2 に答える 2

4

を受け入れるコンストラクターは、ローカルエンドポイント アドレスIPEndpointをバインドするためのものです。リモートエンドポイントアドレスが渡されることを意図しています。これらの 2 つのことの一方は他方と矛盾しています。Connect

コンストラクタ:

クラスの新しいインスタンスを初期化TcpClientし、指定されたローカル エンドポイントにバインドします。

Connect:

指定されたリモート ネットワーク エンドポイントを使用して、クライアントをリモート TCP ホストに接続します。

しかし、ローカル エンドポイントかリモート エンドポイントかがわからないため、どちらepが間違っているかはわかりません。を指定したので、ローカル エンドポイントを推測します。0この場合、呼び出し用に別のエンドポイントを識別する必要がありますConnect。何に接続しようとしていますか?

于 2013-06-19T09:24:30.130 に答える
0

ここに何かが欠けているかどうかはわかりませんが、デフォルトのコンストラクターがあります。

http://msdn.microsoft.com/en-us/library/aa329755(v=vs.71).aspx

于 2013-06-19T09:24:16.627 に答える