如何使用QUdpSocket连接路由器后面的服务器和客户端

How to connect a server and a client that is behind router using QUdpSocket?

本文关键字:服务器 客户端 何使用 QUdpSocket 连接 路由器      更新时间:2023-10-16

假设我有一个直接连接到互联网的服务器和一个连接到路由器的客户端。客户端可以向服务器发送消息,因为它知道服务器的IP地址和端口。但服务器如何将消息发送回客户端?它可以获取客户端的外部IP地址和端口,但它应该向该端口发送消息吗?客户端如何监听消息,应该监听哪个端口?假设没有端口转发。

我认为困难在于您的客户端位于NAT防火墙后面。如果是这样的话,那么答案很简单:你没有。这就是NAT的全部意义。

但这也假设您谈论的是从服务器到客户端的新套接字的创建。如果套接字已经存在,您只需对其进行讨论,有状态的NAT路由器就会跟踪它需要做的事情,以便使消息通过。

如果这两个都不能回答你的问题,你需要重新制定。