在网上搜索了一些资料,谈谈本身对IM即时通信的理解服务器
IM全称为Instant Messaging,即时通信,如qq那种的。ip
如今有两个用户UserA, UserB, 俩人是一个IM通信软件的好友,UserA登陆,服务器读取他的用户名密码,将他的好友列表传送回来,好友列表中有UserB的信息,好比在不在线,若是在线ip地址是什么,端口是多少,这样UserA就能够找到UserB了。登录
如今UserA想和UserB聊天,若是UserB在线,那么UserA能够经过UserB的ip,端口号等,来与UserB进行信息的交互,貌似这种交互应该使用UDP协议,qq就是这样的。若是不在线,可能因为防火墙或者NAT或者网速差等等缘由创建链接很慢,IM服务器就起到做用了,UserA和UserB发送的消息均可以经过服务器进行中转,若是在线,直接发送给对方,若是不在线,那么IM服务器会暂时存储UserA发给UserB的信息,等UserB上线的时候,再发送给他。软件
以上,基于兴趣,之后有想法实现的时候好好琢磨琢磨。搜索