花了一天的时间,把所有的基本功能实现了,过程真是一波三折啊。
早上完成的时候,已经可以联机,但是相当不稳定,也无法组队进入任务,只要进入任务,必定加入队伍的队友掉线。然后又修改,增加了封包的临界处理,本来有临界的处理的,我全部删掉了,又重新编写。
加入了临界处理后,可以进入任务了,PSP端的数据也正常了,AdHocToUSB的Bridge也没有报过错了,但是服务器又出现StackOverFlow,靠,这是个很麻烦的问题,出在临界处理时,封包过多,预分配的缓存不够,然后出现了部分数据丢失,造成了无限递归。
于是乎有减小了PSP数据的捕获频率,从30毫秒改到50毫秒,并且限制了递归的次数,没有处理完的数据直接丢弃,这样就没有出现堆栈溢出的问题了,代价是联机时,有时候会出现人物的跳跃性移动。
刚刚和朋友测试了一个温泉任务,打了大概20分钟杀掉BOSS,没有出现任何问题,明天测试更多的玩家组队。没有的问题的话,就继续完成剩余的一些功能,并优化代码。