什么是多路插座通信?

时间:2011-04-02 09:14:00

标签: java sockets terminology tcp

我搜索了互联网上的“多路复用插座”,但未发现多路复用套接字和普通套接字行为之间的差异

普通套接字也可以双向通信(读写流)。

我认为我必须理解多路复用概念的错误,欢迎您对多路通信的看法,谢谢!

编辑:我使用Java来实现Multiplex套接字。

3 个答案:

答案 0 :(得分:5)

AFAIK,Multiplex通信是共享少量套接字(例如一个)以传递多个更高级别流的数据,例如主题或队列。

答案 1 :(得分:4)

多路复用在一个套接字上运行多个连接,这些连接的所有消息都将在该套接字上接收(或发送)。所以这不是双向通信,而是由一个套接字处理的多个不同的通信通道。

答案 2 :(得分:1)

您在哪里找到multiplex socket的引用?我能想到两个答案:

首先,使用单个UDP socket()recvfrom(2)接收来自多个客户端的数据包。 (一种可能是递归模式下的BIND DNS服务器;旧版本使用单个套接字,而不是为每个客户端connect(2)一个新套接字。)

其次,使用单个连接将多个通道复用到一个流中;这是通过例如当您要求ssh(1) X11转发或-X-L端口转发时-R。您可以通过单个 TCP会话发送绑定到终端或X服务器或远程端口的数据。

相关问题