这是一个普遍的问题,因此没有特定的编程语言。
我正在开发一个聊天服务器,我的用户使用我的任何客户端应用程序登录,并且非常简单地实现了 TCP 协议。
当用户登录时,客户端会向服务器发送原始文本,指示某些参数,例如用户名,其他参数,以及最重要的 WAN ip 。该数据存储在服务器数据库中。在执行搜索数据库中的其他在线用户的算法之后,服务器向一对用户发送ip和另一用户的用户名,因此稍后客户端可以再次使用服务器直接连接到彼此。
因此,服务器的行为只是一个见面点。所有这一切工作正常,用户不在私人网络内,如无线路由器。我真的不知道如何解决这个问题,所以你们给予的任何帮助都将不胜感激。抱歉我的英语。
如果这有任何帮助,客户端使用XMLSocket在AS3中编程,使用带有winsock的VB6编写服务器。
答案 0 :(得分:0)
客户端无需发送自己的WAN地址。服务器可以从连接中查询它。例如,请参阅Win32文档中的accept函数。我查看了VB6 Winsock Accept函数,它似乎没有公开相同的功能,但在VB6中可能有另一种方法。我知道的所有语言都有。