默认情况下,UDP(Java 或其他)是全双工的吗?
Posted
技术标签:
【中文标题】默认情况下,UDP(Java 或其他)是全双工的吗?【英文标题】:Is UDP (in Java or otherwise) full duplex by default? 【发布时间】:2014-04-15 01:03:05 【问题描述】:即鉴于我正在以数据报的形式进行所有通信,我是否能够使用两个不同的线程读取和写入同一个套接字?
【问题讨论】:
这个代码是如何工作的?是否可以创建一个数据报套接字,并从两个不同的线程使用 socket.receive 和 socket.send? 【参考方案1】:UDP,在适当的情况下,可以被认为是全双工的,但它本身不是,而另一方面,TCP 总是全双工的。
UDP 是一种即发即弃、尽力而为的协议,但上层可以以全双工方式使用它。
TCP 需要握手和其他双向通信。
【讨论】:
【参考方案2】:UDP 实际上是全双工的。
您可以让服务器监听和写入同一个套接字
【讨论】:
以上是关于默认情况下,UDP(Java 或其他)是全双工的吗?的主要内容,如果未能解决你的问题,请参考以下文章
Linux 网络编程4网络层--UDP/TCP协议,3次握手4次挥手粘包问题等