首先,QQ是即可以使用TCP也可以使用UDP,但QQ默认是使用UDP,因为UDP消耗资源小。
实际上QQ在发送消息的时候是UDP打洞,而登陆的时候是使用用的HTTP遂道,因为登陆服务器其实就是一个HTTP服务器,只不过不是常用的那些。
了解了这些就说说QQ是如何通迅的。。
在TCP/IP协议中,唯一标识一个应用进程的是Socket,它通过网络层的IP地址和传输层的端口号来实现,对于同一个IP地址的内部网络,通过不同的端口号来标识不同的QQ进程;
当你登陆QQ服务器的时候,服务器会保留你的保留IP地址和端口号信息并在你的好友QQ进程中进行列表显示,然后两个QQ间就可以通迅了。。
不知道这样讲楼主是否有一些概念了?实际上关键是在登陆里。。服务器记录下你的QQ程序的端口号并且发送给了你的好友。。就是这样。。 |