TCP UDP互操作性

时间:2014-12-11 17:29:11

标签: networking network-programming

我知道这听起来很傻,但我仍然想知道答案。

  

是否存在涉及tcp服务器和udp客户端的实现,反之亦然?

3 个答案:

答案 0 :(得分:1)

我对此表示怀疑。 TCP服务器期望使用TCP("字节流")通过IP连接的连接,以及与TCP流一起提供的所有设置和拆除机制(封装在操作系统内的TCP堆栈中) )。 UDP客户端不使用"字节流"范例,而是发送离散数据块("数据包")。通常,运行服务器的计算机的操作系统将查看IP数据包的协议类型字段,查看它是UDP,查找匹配的侦听器,找不到,然后丢弃该数据包。与此同时,服务器进程将向操作系统注册(" listen"),以便连接到特定端口以进行TCP连接。因此操作系统将使这个TCP侦听端口挂起,永远不会获得任何连接,并且连续的UDP数据包系列没有建立任何UDP侦听连接(因此丢弃数据包)。

答案 1 :(得分:0)

  

是否存在涉及tcp服务器和udp客户端的实现,反之亦然?

不,没有。它们是不同的协议,端口占用不同的命名空间。

答案 2 :(得分:-1)

使用普通TCP无法做到这一点。然而,存在称为流控制传输协议(SCTP)的协议,其在两种模式下操作,例如UDP和TCP(分别为DATAGRAM和STREAM)。然后,您可以创建一个服务器来接收两种操作模式......

http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol