我知道这听起来很傻,但我仍然想知道答案。
是否存在涉及tcp服务器和udp客户端的实现,反之亦然?
答案 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