qq同时在线的用户有时超过150万,一个服务器的端口大概有6万个左右。他是怎么处理用户连接的问题呢?
我想可能有两种方式:
1.增加服务器数量,这种方法很笨拙,并且算法也不易写。
2.所有的连接在建立并取得数据后立即销毁连接,并等待某个时点从新连接。
3.结合以上两种方式。
请大家踊跃发言,多多指教。
呵呵.....
我想可能有两种方式:
1.增加服务器数量,这种方法很笨拙,并且算法也不易写。
2.所有的连接在建立并取得数据后立即销毁连接,并等待某个时点从新连接。
3.结合以上两种方式。
请大家踊跃发言,多多指教。
呵呵.....
QQ是UDP协议,无连接的,同时他们确实是采用了增加服务器的方法
他们服务器之间的通信算法写得很好
关于qq服务器之间的通信,你知不知道用的是什么算法?
snsins(初雪是我的开心果) cdutgch(伶狐)
如果服务器和客户端是用udp(是无连接的),那么怎么知道客户端是否在线?
我不知道
我有次和他们的一位技术人员在QQ上聊过
当时我猜测是采用的DNS那种轮询方法
结果他告诉我说不是。
QQ难度主要就是在服务器端的效率以及服务器与服务器之间的通信,客户端只要有了协议就很好写了schuyler(乐开) :
至于是否知道客户在线,可能是由客户端定时给服务器发送消息(也可能是服务器定时查询客户端),然后根据是否响应来判断的,这个不难
我也写过UDP形式的通讯软件,但是丢包严重,一个包有时候会重传好多遍,这样效率就低了。