今天做了一个地图判断,就是客户端在进入和移动的时候,把自己的状态、信息等等发送给本地图里的用户,这样就减小了客户端与服务器端不必要的交流。
我的思路是:客户端进入一个新地图时必须要给本地图的客户发送自己的状态及信息,而且仅仅只给本地图的用户发送,(当然,它还要接收本地图的所有用户的状态及信息,这个暂时还没有做),那么怎么实现这个判断呢?我是这样做的,给client类再加一个属性map,用来指示它所在的地图,并且再加上一个五个参数的构造函数(加入了map),然后在接到客户端的Enter命令时,把它的用户名和地图取出来,接着根据用户名做判断,把地图赋给这个用户,当然这个用户在接到Login时已经加入clients组里了, 最后就是根据地图做判断,把这个clients遍历一边,把自己的信息发给本地图里的所有用户,完成。