12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package com.ym.mec.web.handler;
- import com.corundumstudio.socketio.AckRequest;
- import com.corundumstudio.socketio.SocketIOClient;
- import com.corundumstudio.socketio.SocketIONamespace;
- import com.corundumstudio.socketio.annotation.OnConnect;
- import com.corundumstudio.socketio.annotation.OnDisconnect;
- import com.corundumstudio.socketio.annotation.OnEvent;
- import com.ym.mec.web.support.anno.NamespaceReference;
- import com.ym.mec.web.support.anno.OnNamespace;
- import com.ym.mec.web.support.mes.ChatObject;
- import org.springframework.stereotype.Component;
- @Component
- @OnNamespace("/chat2")
- public class Chat2 {
- @NamespaceReference
- private SocketIONamespace namespace;
- /**
- * 添加connect事件,当客户端发起连接时调用,本文中将clientid与sessionid存入数据库
- * 方便后面发送消息时查找到对应的目标client
- * //
- */
- @OnConnect
- public void onConnect(SocketIOClient client) {
- }
- /**
- * 添加@OnDisconnect事件,客户端断开连接时调用,刷新客户端信息
- */
- @OnDisconnect
- public void onDisconnect(SocketIOClient client) {
- }
- @OnEvent(value = "message")
- public void onEvent(SocketIOClient client, ChatObject data, AckRequest ackRequest) {
- System.out.println("chat2 namespace " + namespace.getName());
- namespace.getBroadcastOperations().sendEvent("message", data);
- System.out.println("chat2 sessionId " + client.getSessionId());
- }
- }
|