这是我的代码。但是 user = null
如何通过 id 获取用户并断开用户连接?
Zone zone = (Zone)event.getParameter(SFSEventParam.ZONE);
User user = zone.getUserById(1);
this.getApi().disconnectUser(user,ClientDisconnectionReason.IDLE);
这是我的代码。但是 user = null
如何通过 id 获取用户并断开用户连接?
Zone zone = (Zone)event.getParameter(SFSEventParam.ZONE);
User user = zone.getUserById(1);
this.getApi().disconnectUser(user,ClientDisconnectionReason.IDLE);
您通过 id = 1 获取用户,该 id 可能无效,SFS 为每个用户提供的 id 可能会有所不同,它不像从 0 开始的数组,它可能会在每次连接或断开连接时发生变化,当一个玩家连接到sfs,它需要一个id,当他断开连接时,其他人可能会拿它,你可以通过这个获取用户id:
Collection<User> users = getParentExtension().getParentZone().getUserList();
while (users.iterator().hasNext())
{
int id = users.iterator().next().getId();
}
然后使用断开功能断开他的连接,或者只使用用户从集合中断开他的连接。