没什么好说的,websocket实现非常简单,我们直接看代码。
运行环境:jdk8 tomcat8 无须其他jar包。 具体环境支持自己百度packagecom.reach.socketController;importjava.io.IOException;importjava.util.HashMap;importjava.util.Map;importjava.util.concurrent.CopyOnWriteArraySet;importjavax.annotation.Resource;importjavax.websocket.OnClose;importjavax.websocket.OnError;importjavax.websocket.OnMessage;importjavax.websocket.OnOpen;importjavax.websocket.Session;importjavax.websocket.server.PathParam;importjavax.websocket.server.ServerEndpoint;
@ServerEndpoint(value="/newwebsocket/{userId}")public classWebcomment {
@ResourceprivateWebcomment webcomment;//静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
private static int onlineCount = 0;//concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。若要实现服务端与单一客户端通信的话,可以使用Map来存放,其中Key可以为用户标识
private static CopyOnWriteArraySet webSocketSet = new CopyOnWriteArraySet();