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());
}
}
閱讀更多 代碼專家 的文章