可问题是如果做出像QQ那类的聊天软件,谁跟谁聊天难道还要让对方每次都输入端口IP地址?而且一点不理解的问题,用TCP/IP协议来做必须来控制连接和断开的问题。我原来尝试的想法是用API函数得到对方的IP地址和端口,再做一个独立的服务器端。当该用户上网启动程序以后,把用API得道的该用户的IP地址和端口发到服务器中。然后当另一个人(注:两个人都是客户端程序)像QQ中那样点击对方图标进行聊天时,就会向服务器请求对方的IP地址和端口信息。然后服务器发过来以后用服务器发来的对方的端口和IP地址来设置一个WinSock为对方的IP地址和端口,接着两个人互发信息进行聊天。
不过上面的想法虽然好,但是问题多多。其中就是用Tcp/ip做经常开关连接,有时就会造成数据接收不到的情况出现。用UDP却无法掌握接受的时机,也就是那边发了新数据这边接的是旧数据。