默认情况下,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 或其他)是全双工的吗?的主要内容,如果未能解决你的问题,请参考以下文章

全双工

默认情况下Java构造函数不是公开的吗? [复制]

Linux 网络编程4网络层--UDP/TCP协议,3次握手4次挥手粘包问题等

Netty理论四:TCP vs UDP

计算机网络——网页上(或其他情况下)的视频传输是基于TCP还是UDP

I2C,485,232,spi这四种通信方式有啥区别?啥是双工,啥是半双工,啥是全双工?