我用 C# 制作了一个服务器/客户端应用程序。
我的问题如下:假设客户端位于 NAT(如路由器)后面并尝试连接到服务器。从服务器的角度来看,服务器只知道客户端的外部 IP 地址。您如何准确确定将数据包发送到哪台计算机位于 NAT 后面?我了解客户端路由器的端口转发是解决此类问题的常用方法,但如果您查看 Skype 等应用程序,则无需端口转发即可在服务器与 NAT 后面的许多客户端之间正确建立连接. 反之亦然,也可以问这个问题(即:NAT 后面的客户端到服务器)。
我对套接字编程很陌生,所以我很想听听我可以阅读以完全理解这些东西的任何指南或材料。