有關IM即時通信原理

在網上搜索了一些資料,談談本身對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上線的時候,再發送給他。軟件

以上,基於興趣,之後有想法實現的時候好好琢磨琢磨。搜索

相關文章
相關標籤/搜索