很长一段时间以来,我一直认为套接字被定义为双向连接的端点,但是可以创建 UDP 套接字,而无需另一端创建套接字以保持连接有效。
这样做的确切原因是什么?
我一直认为这是因为在 TCP 连接期间,另一个最终用户需要通过发送确认来进行通信,而 UDP 则不需要。我只是猜到了,从来不知道为什么。
很长一段时间以来,我一直认为套接字被定义为双向连接的端点,但是可以创建 UDP 套接字,而无需另一端创建套接字以保持连接有效。
这样做的确切原因是什么?
我一直认为这是因为在 TCP 连接期间,另一个最终用户需要通过发送确认来进行通信,而 UDP 则不需要。我只是猜到了,从来不知道为什么。
您好京东,欢迎来到网络工程!
与 TCP 不同,UDP 协议不需要建立连接,因此发送主机不等待传输确认或任何事情。接收方可以通过校验和验证来检查传输的数据是否正确。
很长一段时间以来,我一直认为套接字被定义为双向连接的端点,但是 UDP 套接字......
与 TCP 不同,UDP 根本不知道“连接”的概念。UDP 用于将不属于连接的数据包发送到另一台计算机的端口。UDP 甚至可以用于发送发送到多台计算机的“多播”数据包。
您也可以向某台计算机发送一个 UDP 数据包并从完全不同的计算机接收“答案”(正如您在 Teredo 协议中看到的那样)。
Andrey Prokhorov 在他的回答中写道,UDP“不需要”建立连接。
但是由于UDP不知道连接的概念,所以甚至不可能建立连接。