从服务器向客户端发送UDP/TCP数据包

从服务器向客户端发送UDP/TCP数据包,tcp,network-programming,udp,firewall,nat,Tcp,Network Programming,Udp,Firewall,Nat,我建立了一个本地多人游戏(通过wlan网络进行多人游戏)。现在,我想添加一个在线多人游戏功能。。 目前,网络通信主要由“信号”(从游戏主机对等点发送到游戏客户端对等点的tcp/udp数据包)组成。我也想在我的在线多人游戏中使用这种主要基于信号的通信(因为性能和效率)。但是,由于主机对等机现在被服务器所取代,因此在发送信号(NAT、防火墙等)方面会有很多问题。 那么,有没有好的解决方案来实现这些信号呢 问候 发送信号会有很多问题(NAT、防火墙等)_ 到底是什么问题 通常,客户端与服务器建立TCP

我建立了一个本地多人游戏(通过wlan网络进行多人游戏)。现在,我想添加一个在线多人游戏功能。。 目前,网络通信主要由“信号”(从游戏主机对等点发送到游戏客户端对等点的tcp/udp数据包)组成。我也想在我的在线多人游戏中使用这种主要基于信号的通信(因为性能和效率)。但是,由于主机对等机现在被服务器所取代,因此在发送信号(NAT、防火墙等)方面会有很多问题。 那么,有没有好的解决方案来实现这些信号呢

问候

发送信号会有很多问题(NAT、防火墙等)_

到底是什么问题

通常,客户端与服务器建立TCP连接,服务器使用此TCP连接与客户端通信


对于基于UDP的通信,客户端用于转发路由器上的端口,以便服务器可以向客户端发送UDP数据报。

假设您的服务器位于公共internet上,而不是任何NAT后面。所有客户端都必须启动连接。否则,服务器无法知道客户端凭据并且无法连接。由于服务器没有NAT,它将接受来自客户端的连接。这个连接客户端必须保持活动状态。所以,当服务器需要发送一些数据时,应该没有问题


这将适用于UDP和TCP

但我想从服务器向客户端发送数据包(UDP/TCP)。服务器端发生了一些事情,服务器向所有人发送一个“信号”clients@user2224350那就这么做吧。您到底希望出现什么问题?服务器应该如何向nat路由器后面的对等方发送udp数据包??我不应该为某些客户端工作,只要客户端发送第一个数据包,UDP就可以工作。对一些人来说,它不会,你将不得不使用所有的TCP。