私は C#.net で UDP 非同期ソケットを使用しており、サーバーとクライアントが送受信用に別のポートで通信するようにしたいと考えています。
- サーバーはポート A でクライアントに送信し、ポート B でクライアントから受信します
- クライアントはポート A でサーバーから受信し、ポート B でサーバーにデータを送信します
出来ますか??
私は C#.net で UDP 非同期ソケットを使用しており、サーバーとクライアントが送受信用に別のポートで通信するようにしたいと考えています。
出来ますか??
クライアントではソケットをポート A にバインドし、クライアントではポート B にバインドします。それはそれと同じくらい簡単です。サーバーは A を実際に認識している必要はありませんが、クライアントから受信したメッセージから取得します ( ReceiveFrom
.
UDP を使用する場合、クライアントが最初にメッセージを送信する必要があることに注意してください。そうしないと、実際にはクライアント サーバー システムではなく、より分散されたシステムになります。
エンドポイントは 1 つの IP アドレスと 1 つのポート番号のみで構成されるため、これを行うことはできません。ポート A とポート B を使用するには、2 つの異なるソケットを使用し、サーバーとの 2 つの接続を確立する必要があります。
これはまさにそれがすでに起こっている方法です。クライアントの送信元ポートは、OS によって選択されるランダム ポートです。