私は自分のsockteプログラミングの知識を磨いていて、疑問に出くわしました。
まず、ソケットについての私の理解を説明しましょう。
- ソケットバインディングは、ソケットをポートに関連付けます。
- ソケットバインディングは、カーネルが着信パケットの転送先となるプロセスを識別するのに役立ちます。
コネクション型通信ソケットの確立は以下のとおりです
- サーバー側でsocket()-> bind()-> listen()-> accept()....。
- クライアント側はsocket()->connect->.....です。
私の質問は、クライアントがソケットにバインドする必要がない理由です。クライアントの場合、リクエストを送信する場合は、ソケットへの応答を取得する必要があり、カーネルはそれをプロセスに転送する必要があります。これらのことを行うには、バインディングは必要ありません。そうでない場合、カーネルは応答の送信先をどのように理解するかを理解します。パケット?また、コネクションレス型のクライアント呼び出しバインドソケットですが、なぜここで必要なのですか?