[英]Running client and server on same machine
我有一个客户端和服务器应用程序都使用UDP端口25565。为了在同一台计算机上运行这些应用程序,因为只有一个应用程序可以将自身绑定到端口25565,这是否意味着我有必要使用两个单独的端口进行传输应用之间的数据?
我想到的是以下内容-
客户端-> 25565->服务器
客户端<-25566 <-服务器
这是唯一的解决方案,还是有另一种处理方式?
回答您的问题。 TCP / IP连接是双向的,一旦建立,服务器就可以向客户端发送数据,反之亦然。
我会这样画方案:
SERVER端口25565 <-> CLIENT端口25566(或任何其他端口)
好吧,不。 仅服务器需要侦听端口25565-客户端将仅连接到该端口。 没有理由指定端口应“使用”哪个客户端来连接到该端口。 同样,一旦服务器接受了连接,端口就可以侦听其他请求。
单独的UDP端口的全部目的是消除侦听传入数据包的应用程序之间的冲突。 更改这些端口之一可能是最好的解决方案。
但是,如果您确实希望两个程序都在同一端口上侦听,则需要使用虚拟网络接口,例如TUN / TAP(有Windows port )。 然后,两个应用程序将使用相同的编号绑定到端口,但在不同的网络接口上。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.