websocket注意事项

*****************************说明****************************

1.每次连接session.getId()都会不同

2.我们websocket程序会维护一个Map, 记录玩家id--->session的关系;

***************************************************************

1.当建立的时候会建立对应关系,如果关系已经存在,需要更新session(这里用oldSession 和newSession来说明). oldSession最好我们手工关闭(session.close()执行时程序会跳到onClose里面去,onClose执行玩后再执行session.close()后面的代码----这个特点需要注意下)

2.运行时异常会触发onClose; 网络异常会触发onError,一般onError和onClose一样会移除session关系;

3.客户端也会调onClose来触发服务端的onClose,防止客户端onClose后立即onOpen,onOpen请求先到,这样onClose会清除map中的session的情况, 我们在清除关系的时候必须判断Map中sesson的id与当前sessionId是否相同

猜你喜欢

转载自www.cnblogs.com/trump2/p/11586615.html