赞
踩
package com.xxxx.jcbigdata.websocket; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.CopyOnWriteArraySet; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; import org.springframework.stereotype.Component; import com.alibaba.fastjson.JSONObject; import com.xxxx.jcbigdata.service.real.RealAnalyzeService; import com.xxxx.jcbigdata.util.DateUtil; import com.xxxx.jcbigdata.util.RedisUtil; import redis.clients.jedis.JedisCluster; @ServerEndpoint("/websocket_JGshouye") @Component public class JGShouyeWebSocket { private static int onlineCount = 0; // private int curr_baojing_count = 0; int curr_lenth = 0; private static CopyOnWriteArraySet<JGShouyeWebSocket> webSocketSet = new CopyOnWriteArraySet<>(); private static Map<String, JGShouyeWebSocket> webSocketSet_map = new HashMap<String, JGShouyeWebSocket>(); private Session session; JedisCluster jedis; @OnOpen public void onOpen(Session session) { System.out.println("session"+session); jedis = RedisUtil.getRedisUtil().getJedis(); this.session = session; webSocketSet.add(this); Map<String, List<String>> requestParameterMap = session.getRequestParameterMap(); List<String> list = requestParameterMap.get("username"); String username = list.get(0); // 当前用户名 webSocketSet_map.put(username, this); addOnlineCount(); } @OnClose public void onClose() { try { webSocketSet.remove(this); subOnlineCount(); } catch (Exception e) { e.printStackTrace(); } System.out.println("有一链接关闭!当前在线人数为" + getOnlineCount()); } @OnMessage public void onMessage(String message, Session session) { Map<String, List<String>> requestParameterMap = session.getRequestParameterMap(); List<String> list = requestParameterMap.get("username"); String username = list.get(0); // 当前用户名 System.out.println("当前用户啊名")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。