从server-A (通过静态IP全局可达)开始,我将一个UDP套接字绑定到0.0.0.0:25000。
然后使用(住宅) NAT后面的client-A,我将UDP套接字绑定到0.0.0.0:25000。然后,客户端A向服务器A发送一个数据包。
服务器A接收该数据包。Server-A记录远程套接字K,数据包是从该套接字进行NAT的。服务器A向K发送数据包,目的是NAT将数据包转发到客户端A。
但是,client-A不会收到数据包。在NAT上,当我在端口25000上为UDP启用端口触发时,它可以正常工作。然而,在制作p2p应用程序时,我更倾向于避免要求客户端进入路由器设置才能使程序工作。我怎样才能在防火墙上打个洞,使通信是双向的呢?
发布于 2020-07-24 22:41:52
如果您的路由器/NAT设备支持NAT-PMP或UPNP,那么这真的很容易。您只需要实现协议并打开特定的端口即可使用。如果不是,那么您可能需要使用ICE。
https://stackoverflow.com/questions/63063198
复制相似问题