先感谢朋友们帮忙测试,过程中服务端出现了一次异常导致所有玩家掉线,暂时找不到原因。在本地测试,开了10个人物未发现问题。程序为了加快搜寻速度,所有静态物件和动态物件(角色)都使用一个一维数组来记录ID,这样每次搜寻(用于深度排序、玩家上下线等的遍历)只需要遍历这个一维数组,在获得下标之后,根据这个下标从数组对象中取得整个对象,当然,前提需要整个过程中这个一维数组和这个对象数组的排序保持一致(大概就是这里出现了异常,是服务器和客户端之间出现延时,使得两个数组排序出现了变化,数据差异引发了异常)。今后开放源码后,我会写一下体会和心得,还会写一些用到的算法和方法。今天累了。明天继续吧。
先放一张截图。