gpt4 book ai didi

c++ - 使用 boost::asio::ip::udp 时 send 和 send_to 的用法

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:24 30 4
gpt4 key购买 nike

boost::asio 文档中,据我所知,send 用于将数据发送到连接的套接字,而 send_to用于向未连接的套接字发送数据。我使用命令 nc -u -l 12345 来监听一台计算机上的 udp 流量,并尝试从另一台计算机发送一些文本数据。我拿了 blocking udp echo client 的示例代码.此示例使用 send_to 方法(用于未连接的套接字),我想重写它以使用 send 方法(用于连接的套接字),我该怎么做?如何连接我的 udp 套接字?我对我的套接字使用了 bind 并且它没有返回任何错误,但我的套接字仍然没有连接。是否有迹象表明我可以从系统获得我的套接字已连接(即 netstat 或类似的东西)

最佳答案

UDP“已连接”术语与 TCP 不同。您不会在 netstat 输出中看到 UDP“连接”。

作为 man 7 udp 说:

When connect(2) is called on the socket, the default destination address is set and datagrams can now be sent using send(2) or write(2) without specifying a destination address.

因此,您可以在 boost::asio::ip::udp::socket 上执行 connect,然后使用 send 方法而不用指定端点。查看udp::socket您需要的方法手册。

关于c++ - 使用 boost::asio::ip::udp 时 send 和 send_to 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765059/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com