手机出现im服务器切换中
据我所知,在MSN系统中,Client首先会连接一个固定的服务器,此服务器会返回一个新的连接服务器地址给Client,而后Client会重新连接到新的务器地址并开始登录。我想这样做是服务器端做到一个负载平衡的功能,也就是说有一个负载平衡服务器,有多个登录服务器。最终Client保持连接的是登录服务鳌
但是如果ClientA连接的是登录服务器A,而CientB连接的是登录服务器B,而ClientA和ClientB是好友,他们的在线状态是怎么得到的?
如果Client的数量比较少,那么登录服务器之间可以传递消息告知对方。但是当上万或者更多的时候。就不应该这样处理了。
那么有什么方式来实现类似的服务器网络结构中Client之间在线状态的实时显示呢?
(wyu2000 AT gmailcom)
正是我现在要面对的问题
我现在准备采取的策略是:
由客户端主动通知好友。
A 连接到 Login Server A 后。
我们假设A已经从主服务器获得了 好友列表,以及好友状态。
那么A可以主动发送LoginServerA 通知 在线好友B。
LoginServer的通知过程可以用如下方法:
ServerA,检索到好友B的登陆服务器(可以向主服务器请求Client B的登陆服务器,或者可以采用特定的ID算法,根据用户的ID计算出用户B的登陆服务器)
ServerA 发送一个ClientA登陆的消息给Server B,要求ServerB将该消息,转发给 Client B
大家给点意见。
目前我做的IM系统是通过服务器之间转发实现的,想想也没什么更好的办法,理论上每个Server可以达到几万,不过现实中,只有几十个用户/台。
引用
我提个方案:
首先做以下假设:
(1)维护100万在线用户的状态需要多大的内存空间
(2)从100万在线用户中检索出自己需要的数据需要多少时间
第一个问题我们可以这样来定性:
设每用户占用的内存空间为:
SessionID会话标识(int)+AccountID用户账号ID(int)+loginTime登录时间(long)+其它状态(假设用4个byte型幢昝4个状态)=20字节
100万用户20字节=20,000,000(字节)=19,53125K==19M(约)
注:一条记录就表示一个在线用户;
(我靠,我的计算是不是有错误,一台386的内存都够了)
看上去,似乎用一台服务器做状态服务器是没有什么问题的;
第二个问题,我们这样来定性:
假设在服务器端的内存中使用如hashTable这样的存储结构来保存用户的会话状态,hashTable的读操作为0/m复杂度,从100万个记录中读取一条锹嫉难爸肥奔淠鞘窍嗟钡目斓,快到无法用毫秒来计算,只能用tick(一个CPU的时钟滴答)来计算。1个毫秒=10,000个tick(毫微秒),(has环Table的操作平均值是多少我没有统计过不好意思。我就猜个值吧:假设平均为100个tick),如果每次存取hashtable要花费100Tick,另庠诩由弦恍┮滴翊淼氖奔洌桶床僮饕淮问荼硪1个毫秒来计算吧。
那么1秒钟的时间内就可以处理1000次用户的查询操作;
问题是如果100万用户同时来查询我们该怎么办?
我想可以做负载均衡及服务器集群,当然还要涉汲到网络接口的流量限制,说来就话很长了。
总之,第二个问题看起来,似乎是我们可以通过其它的手段将单台服务器无法处理的工作量分摊到多台服务器中去进行;
于是可以得出第一个背景结论:
设置一台服务器将其做为用户状态服务器,用于记录系统中所有用户是否在线等状态信息;通过对服务器制作集群来分摊访问压力;
现在我们就可以做以下比较形象的结论和假设了:
(1)一个用户要查询自己所有好友的在线状态,那么这个用户向刚才所说到的状态服务器发送一条查询消息,服务器可以很快的返回用户的状态给客户;
(2)用户在登录系统后通知状态服务器自己已经登陆了。
(3)用户如果从某台具体的功能服务器掉线后,则由这台服务器通知状态服务器用户掉线;
(4)用户可能会在多台功能服务器中来回切换,由客户端与服务器端共同协作以判断用户是为否掉线;
(5)用户定期向状态服务器报告自己的存活状态,如果长时间不报告,则状态服务器把用户从自己的内存状态表中删除;
以上我的瞎解,不一定对,必竞自己没有做过,仅供参考。
1去商店搜索安装好后,先不要急着打开魔卡幻想软件,先断开所以网络
断开后打开魔卡幻想软件,出现无法连接网络,因此它就不会自动进去了,如果没断开,就会进入新手教程
2现在打开网络连接,点击第二个‘账号登陆’
3现在你可以登陆老账号,或者注册新账号
4注册可以选择服务器,但是需要注册码,这比直接新号进去不能选择服务器好多了
5登陆界面直接点进去就可以登陆老账号了
如果你不小心进去了,可以直接关闭软件重复上述步骤
进入游戏界面并且完成了新手教程可以在账号里退出登录
苹果手机服务器连接教程如下:
1、点击桌面上的-设置-图标进入设置
2、点击-通用-进入通用设置。
3、点击-***-进入***设置。
4、点击添加***设置进行设置。
5、选择并连接。
操作步骤图示:
1、点击进入“设置”图标。
2、点击进入“无线局域网”选项。
3、然后找到当前已经接入的无线网路,点击右边的蓝色箭头。
4、再点击“静态”选项,点击进入。
5、最后根据自己的需要输入相应的IP地址信息。
0条评论