好文档 - 专业文书写作范文服务资料分享网站

springboot 中使用websocket简单例子

天下 分享 时间: 加入收藏 我要投稿 点赞

super.afterHandshake(request, response, wsHandler, ex); } }

消息处理相应类

package cn.xiaojf.today.ws.handler;

import com.alibaba.druid.support.json.JSONUtils; import org.apache.commons.collections.map.HashedMap; import org.springframework.stereotype.Component; import org.springframework.web.socket.CloseStatus; import org.springframework.web.socket.TextMessage; import

org.springframework.web.socket.WebSocketSession; import

org.springframework.web.socket.handler.TextWebSocketHandler;

import java.io.IOException; import java.util.*;

/**

* @author xiaojf 2017/3/2 9:55. */

@Component

public class CountWebSocketHandler extends TextWebSocketHandler { private static long count = 0;

private static Map<String,WebSocketSession> sessionMap = new HashedMap();

@Override protected void

handleTextMessage(WebSocketSession session, TextMessage message) throws Exception { // session.sendMessage(new

TextMessage(session.getPrincipal().getName()+\你是第\+ (sessionMap.size()) + \位访客\

Object parse =

JSONUtils.parse(message.getPayload());

Collection<WebSocketSession> sessions = sessionMap.values();

for (WebSocketSession ws : sessions) {//广播 ws.sendMessage(message); }

sendMessage(sessionMap.keySet(),\你好\ }

@Override public void

afterConnectionEstablished(WebSocketSession session) throws Exception {

sessionMap.put(session.getPrincipal().getName(),session);

super.afterConnectionEstablished(session); }

@Override public void

afterConnectionClosed(WebSocketSession session,

CloseStatus status) throws Exception {

sessionMap.remove(session.getPrincipal().getName()); super.afterConnectionClosed(session, status); } /**

* 发送消息

* @author xiaojf 2017/3/2 11:43 */

public static void sendMessage(String username,String message) throws IOException {

sendMessage(Arrays.asList(username),Arrays.asList(message)); } /**

* 发送消息

* @author xiaojf 2017/3/2 11:43 */

public static void

sendMessage(Collection<String> acceptorList,String message) throws IOException {

sendMessage(acceptorList,Arrays.asList(message)); } /**

* 发送消息,p2p 群发都支持 * @author xiaojf 2017/3/2 11:43 */

public static void

sendMessage(Collection<String> acceptorList, Collection<String> msgList) throws IOException { if (acceptorList != null && msgList != null) {

for (String acceptor : acceptorList) { WebSocketSession session = sessionMap.get(acceptor);

if (session != null) {

for (String msg : msgList) { session.sendMessage(new TextMessage(msg.getBytes()));

springboot 中使用websocket简单例子

super.afterHandshake(request,response,wsHandler,ex);}}消息处理相应类packagecn.xiaojf.today.ws.handler;importcom.alibaba.druid.support.json.JSONUtils;importo
推荐度:
点击下载文档文档为doc格式
53lel5plx39acj39qpyw5s23r4b08q00eou
领取福利

微信扫码领取福利

微信扫码分享