赞
踩
@ServerEndpoint(value="/websocket/{param}",configurator = GetHttpSessionConfigurator.class)
@Component
public class WebSocketServer {
private static final Logger logger = LoggerFactory.getLogger(WebSocketServer.class);
/**
* 连接建立成功调用的方法
*
* 1000 连接正常关闭
1001 端点离线,例如服务器down,或者浏览器已经离开此页面
1002 端点因为协议错误而中断连接
1003 端点因为受到不能接受的数据类型而中断连接
1004 保留
1005 保留, 用于提示应用未收到连接关闭的状态码
1006 端点异常关闭
1007 端点收到的数据帧类型不一致而导致连接关闭
1008 数据违例而关闭连接
1009 收到的消息数据太大而关闭连接
1010 客户端因为服务器未协商扩展而关闭
1011 服务器因为遭遇异常而关闭连接
1015 TLS握手失败关闭连接
* @param session
* 可选的参数。session为与某个客户端的连接会话,需要通过它来给客户端发送数据
* @throws IOException
*/
@OnOpen
public void onOpen(@PathParam(value = "param") String param, Session session) throws IOException {
AccountSubService accountSubService=(AccountSubService)SpringContextUtil.getBean("accountSubServiceImpl");
try {
session.setMaxIdleTimeout(100000);//心跳等待时间
logger.info("有新连接加入{},超时时间:{},当前时间:{}",param,session.getMaxIdleTimeout(),System.currentTimeMillis());
addOnlineCount(); // 在线数加1
WebSocketMap.getInstance().sessionMap.put(session.getId(), session);
WebSocketMap.getInstance().sessionAccountMap.put(se
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。