最近、ネットを閲覧してUDPソケットについて学んでおり、それを説明しているすべてのページで、UDPソケットは「コネクションレス」であると言及されていました。これは、2 つのソケット間に「接続」がなく、相手側がリッスンしているかどうかを知らずに、指定されたエンドポイントにデータグラム パケットを送信することを正しく理解している場合です。
次に、boost::asio::ip::udp::socketのドキュメントを読み始めたところ、次のような API について言及されていることがわかりました。
- async_connect: 非同期接続を開始します。
- async_receive:接続された socketで非同期受信を開始します。
- async_send:接続された socketで非同期送信を開始します。
今、これは初心者にとって少し混乱しています。混乱の3つの考えられる原因を見つけることができます(類似度の順で:))
- 何かが足りない
- asio 実装は、接続を仮想化するために舞台裏で何かを行っています。
- ドキュメントが間違っている
basic_datagram_socket::async_connectのページを開くと、ドキュメントにもわずかな問題があります。例では、( UDPソケットではなく) TCPソケットをインスタンス化しています。
誰かが私を啓発してくれませんか?