package com.hg.ecommerce.websocket.handler; import java.io.IOException; import java.util.Date; import org.springframework.stereotype.Component; import com.hg.ecommerce.model.SysSetting; import com.hg.ecommerce.websocket.WebSocketEventDrivenHandler; import com.hg.ecommerce.websocket.exception.BadMessageException; import com.hg.ecommerce.websocket.support.Socket; import com.hg.ecommerce.websocket.support.SocketEventListener; /** * Handle Incoming Message and Manage WebSocket Session object * @author Li He * @see com.hg.ecommerce.websocket.ConnectionHub */ @Component("messageHandler") public class MessageHandler extends WebSocketEventDrivenHandler{ /** * 使用此方法注册事件,并执行连接建立后的部分逻辑 * @throws IOException * @throws BadMessageException */ @Override public void onConnection(final Socket socket) { socket.broadcast("online", "有人比如说我上线了"); socket.on("say", new SocketEventListener<String>() { @Override public void actionPerformed(String message) { System.out.println(message); socket.emit("say", "do not say anything"); } }); socket.on("yell", new SocketEventListener<String>() { @Override public void actionPerformed(String message) { System.out.println(message); SysSetting setting = new SysSetting(); setting.setPropId(1234); setting.setPropKey("嘿嘿"); setting.setPropValue("good"); setting.setRemark("This is the remark field"); setting.setCreatetime(new Date()); socket.emit("say", setting); } }); socket.on("area", new SocketEventListener<SysSetting>() { @Override public void actionPerformed(SysSetting message) { System.out.println(message.toJSON()); } }); } }