如何使用QUdpSocket连接路由器后面的服务器和客户端
How to connect a server and a client that is behind router using QUdpSocket?
假设我有一个直接连接到互联网的服务器和一个连接到路由器的客户端。客户端可以向服务器发送消息,因为它知道服务器的IP地址和端口。但服务器如何将消息发送回客户端?它可以获取客户端的外部IP地址和端口,但它应该向该端口发送消息吗?客户端如何监听消息,应该监听哪个端口?假设没有端口转发。
我认为困难在于您的客户端位于NAT防火墙后面。如果是这样的话,那么答案很简单:你没有。这就是NAT的全部意义。
但这也假设您谈论的是从服务器到客户端的新套接字的创建。如果套接字已经存在,您只需对其进行讨论,有状态的NAT路由器就会跟踪它需要做的事情,以便使消息通过。
如果这两个都不能回答你的问题,你需要重新制定。
相关文章:
- C/C++ Linux 上的多线程服务器/客户端崩溃
- 在 1 个服务器 n 客户端套接字 C++ MFC 应用程序中更新数据的客户端
- ZMQ - 客户端服务器:客户端意外关闭,服务器如何检测到?
- C++服务器/客户端聊天程序
- Boost-Beast 异步 Web 套接字 服务器-客户端异步读写 不在控制台上写入输出
- 服务器客户端通过原始数据错误C 发送接收结构
- TCP 服务器/客户端:客户端 recv() 返回空白缓冲区
- 在使用 Poll() 的 TCP 服务器 - 客户端连接中,我是否需要手动设置事件?我从来没有到达 POLLOUT 来写
- 是否可以寻址另一个网络中的服务器/客户端套接字?(C++)
- 嗅探 QWebsocket 服务器 - 客户端通信
- C++(不是 C)中的示例服务器/客户端代码
- 如何将ZeroMQ用于多个服务器-客户端对
- 语言之间的服务器客户端首选项
- 服务器客户端程序上的QT-QFileSystemModel
- SFML网络服务器/客户端
- 服务器/客户端TCP异步(winsock)//FD_WRITE问题
- 基本服务器/客户端代码出现问题
- 将我的简单winsock服务器/客户端应用程序变形为简单的Web服务器
- C++ Winsock 服务器-客户端远程连接
- 修复:C++服务器/客户端程序:"Connection refused"