首页 > 代码库 > 3D商城服务器开发过程中遇到的问题,原因以及解决方法。。。

3D商城服务器开发过程中遇到的问题,原因以及解决方法。。。

问题:????

前端场景多出来一个或者几个"死人"(这个问题在中央服务器和好友服务器中可能同样存在,只是场景服务器的表现比较明显)

玩家进入场景的包流向如下:玩家客户端-->连接服务器-->中央服务器-->连接服务器--场景服务器

玩家离开场景的包流向如下:玩家客户端-->连接服务器-->场景服务器

原因:????

1、客户端向服务器发送了两次进入场景的包

2、玩家刚发出进入场景的包之后立即断开与连接服务器的连接,此时进入场景服务器的包还停留在中央服务器,而离开场景服务器的包已经到达了场景服务器

解决办法:

????针对原因1,当场景服务区收到两次来自客户端的进入场景的包时,第二次会被忽略。这里的解决貌似有隐患,感觉应该用同步来做。后面遇到其他问题再解决

????针对原因2,玩家断开同连接服务器的连接后客户端在连接服务器的状态会被设置为null,在连接服务区每次想场景服务器发送进入场景的包的时候就判断该客户端的状态是否为空,如果为空, 那么就不再发送这个包。