"无连接,未连接"连接

nod*_*nja 4 sockets networking udp tcp client-server

我刚刚开始学习套接字编程,我遇到了一个我以前见过的概念,但对我来说很困惑.

似乎UDP连接是"无连接,未连接"的连接.

不是"无连接"和"未连接"冗余?

那么有4种类型的连接吗?

  1. 无连接,无连接
  2. 无连接,连接
  3. 面向连接的未连接
  4. 面向连接,连接

最后,"无连接,无连接"连接如何发挥作用?这不是矛盾吗?大声笑

Max*_*kin 10

从技术上讲,您可以调用connect()UDP套接字.在这种情况下,套接字会记住对等地址,因此可以使用send()write()系统调用而不是发送数据报sendto().此外,它使套接字仅从该对等体接收数据报,来自其他对等体的数据报被丢弃.

也许这就是所谓的"无连接,连接"套接字,这意味着connect()在UDP套接字上调用了调用.


Tho*_*mas 5

实际上,没有UDP连接这样的东西.基本上,UDP是一种即发即弃的协议,您只需将数据包发送到某台计算机(无需先建立连接),并希望其他计算机将其接收(如果它们甚至可以完成).

建立"套接字连接"时,没有任何神奇的事情发生,即您和远程客户端之间的连线不会改变颜色或其他东西.在连接期间发生的事情是双方同意通过互联网可靠地使用给定协议接收和发送数据.绝对不需要连接任何东西来通过互联网发送和接收东西,但是连接允许你保证完整性和秩序(以及其他一些东西),因为两台机器同意遵循某种方法.

我知道没有"无连接,未连接"的插座.无论谁告诉你,这可能只是试图强调UDP的非连接方面.