core.js中的encodeScript方法
function encodeScript(data) { if(null == data || "" == data) { return ""; } return data.replace("", ">");}
服务端目录结构
服务端使用tomcat-websocket-api的jar包实现,主要是client包下面的BarrageClient类
init为对外提供服务的方法名称
前台与后台建立连接后, onOpen方法被调用
前台与后台断开连接后, onClose方法被调用
前台向后台传送消息后, onMessage会被调用, message中的数据格式为JSON
@ServerEndpoint
(
"/init"
)
public
class
BarrageClient {
private
static
Logger LOG = LoggerFactory.getLogger(BarrageClient.
class
);
@OnOpen
public
void
onOpen(Session session) {
//加入用户池
UserPool.add(session);
}
@OnMessage
public
void
onMessage(String message, Session session)
throws
IOException {
LOG.info(
"user ["
+ session.getId() +
"] Received: "
+ message);
//给所有用户发送消息
MessageProxy.getInstance().getProxy(Message.
class
).send(message, session);
}
@OnError
public
void
onError(Throwable throwable) {
LOG.error(throwable.getMessage());
}
@OnClose
public
void
onClose(Session session) {
//移除用户池
UserPool.remove(session.getId());
}
}
閱讀更多 代碼專家 的文章