我正在开发一个与网络相关的程序,并且存在客户端必须连接到局域网内的服务器的情况。
据我所知,在建立 TCP 连接时,服务器正在侦听的端口必须可供客户端访问。如果服务器位于 LAN 内,则端口访问会被路由器阻止。我知道的一种解决方案是使用 UPnP 在路由器上执行端口映射。但是,在某些情况下,路由器不支持 UPnP,是否有其他解决方案?
我想到了 IM 应用程序。许多 IM 应用程序具有用户可以相互发送文件的功能,无论网络环境如何,只要您可以访问 Internet。我不认为公共服务器用作两者之间的文件数据交换器,连接必须是直接连接。他们实际上如何使客户端连接到“隐藏”服务器?