1

私は C#.net で UDP 非同期ソケットを使用しており、サーバーとクライアントが送受信用に別のポートで通信するようにしたいと考えています。

  • サーバーはポート A でクライアントに送信し、ポート B でクライアントから受信します
  • クライアントはポート A でサーバーから受信し、ポート B でサーバーにデータを送信します

出来ますか??

4

4 に答える 4

1

クライアントではソケットをポート A にバインドし、クライアントではポート B にバインドします。それはそれと同じくらい簡単です。サーバーは A を実際に認識している必要はありませんが、クライアントから受信したメッセージから取得します ( ReceiveFrom.

UDP を使用する場合、クライアント最初にメッセージを送信する必要があることに注意してください。そうしないと、実際にはクライアント サーバー システムではなく、より分散されたシステムになります。

于 2012-07-30T05:33:11.867 に答える
0

TCPClientのコンストラクターの一部として UDP ではなく TCP を使用していた場合は 、発信接続で使用するEndPointを指定できます。

于 2012-07-30T03:56:49.537 に答える
0

エンドポイントは 1 つの IP アドレスと 1 つのポート番号のみで構成されるため、これを行うことはできませ。ポート A とポート B を使用するには、2 つの異なるソケットを使用し、サーバーとの 2 つの接続を確立する必要があります。

于 2012-07-30T03:21:02.683 に答える
0

これはまさにそれがすでに起こっている方法です。クライアントの送信元ポートは、OS によって選択されるランダム ポートです。

于 2012-07-30T03:15:01.427 に答える