首先给大家声明一点:需要 jdk 7 , tomcat需要支持websocket的版本
1.InitServlet
该类主要是用来初始化构造将来存储用户身份信息的map仓库,利用其初始化方法Init 初始化仓库, 利用其静态方法getSocketList 获得对应的用户身份信息。
webSocket ,我认为MessageInbound 用来识别登录人的信息,用它来找到对应的人,推送消息。每次登录都会产生一个MessageInbound。
这里的 HashMap :string 存储用户session的登录id,MessageInbound存储 推送需要的身份信息。以上属于个人口头话理解。
package socket;
import java.nio.CharBuffer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.catalina.websocket.MessageInbound;
public class InitServlet extends HttpServlet {
private static final long serialVersionUID = -L;
//private static List socketList;
private static HashMap socketList;
public void init(ServletConfig config) throws ServletException {
// InitServlet.socketList = new ArrayList();
InitServlet.socketList = new HashMap();
super.init(config);
System.out.println("Server start============");
}
public static HashMap getSocketList() {
return InitServlet.socketList;
}
/* public static List getSocketList() {
return InitServlet.socketList;
}
*