连接上“无连接”的boost :: ASIO ::知识产权:: UDP套接字::(connect o

2019-06-24 13:30发布

我一直在学习UDP套接字最近通过浏览网络和一切解释它的网页被提的是UDP套接字是“无连接”。 这一点,如果我理解正确的话意味着,一个不具有两个插槽之间的“连接”,而是拍摄数据报包到指定的端点不知道另一端是否正在监听。

那我走了,开始阅读了boost :: ASIO ::知识产权:: UDP ::插座文档 ,并发现它提到API,如:

  • async_connect:启动异步连接
  • async_receive:启动异步接收上的连接插座
  • async_send:启动一个异步的连接套接字发送。

现在,这是一个位是新手混乱。 我可以找到我的困惑3个可能的原因(在似然的顺序:))

  1. 我想的东西
  2. 该ASIO实现做幕后的东西,虚拟化连接。
  3. 该文件是错误的

还有在文档轻微毛刺,当你打开页面basic_datagram_socket :: async_connect的例子有(而不是UDP的)实例TCP套接字。

会有人告诉我吗?

Answer 1:

统一UNIX规范有什么更好的解释连接确实为无连接的插座:

如果发起的插座不连接的模式,那么connect()设置套接字的对端地址,但没有建立连接。 对于SOCK_DGRAM套接字,对端地址标识了所有数据报在后续发送发送()调用,并限制了其后的recv遥控发送器()调用。



文章来源: connect on “connection less” boost::asio::ip::udp::socket