資源簡(jiǎn)介
完整的websocket工程demo,包含html,java,jar

代碼片段和文件信息
package?com.web.demo;
?
import?java.util.HashMap;
import?java.util.Iterator;
import?java.util.Map;
import?javax.websocket.OnClose;
import?javax.websocket.onerror;
import?javax.websocket.OnMessage;
import?javax.websocket.OnOpen;
import?javax.websocket.Session;
import?javax.websocket.server.PathParam;
import?javax.websocket.server.ServerEndpoint;
@ServerEndpoint(“/websocket/{userId}“)
public?class?WebSocketTest?{
?
private?static?Map?sessionMap=new?HashMap();//在線的客戶端session集合,只在第一次new的時(shí)候初始化。
??/**
???*?接收信息事件
???*?@param?message?客戶端發(fā)來(lái)的消息
???*?@param?session?當(dāng)前會(huì)話
???*/
??@OnMessage
??public?void?onMessage(String?messageSession?session@PathParam(value=“userId“)String?userId)throws?Exception?{
???
????try?{
???? Iterator?it?=?sessionMap.keySet().iterator();
???? //循環(huán)給每個(gè)客戶端發(fā)送信息
???? while(it.hasNext()){
???? String?key?=?(String)?it.next();
???? Session?value?=?sessionMap.get(key);
???? value.getBasicRemote().sendText(message);
???? }
???? ?System.out.println(“用戶“+userId+“說(shuō):“+message+“。“);
???? ?System.out.println(“當(dāng)前在線人數(shù):“+sessionMap.size());
}?catch?(Exception?e)?{
System.out.println(“接收消息事件異常!“);
}
??}
??
??/**
???*?打開(kāi)連接事件
?*?@throws?Exception?
???*/
??@OnOpen
??public?void?onOpen(Session?session@PathParam(value=“userId“)String?userId)?throws?Exception?{
????System.out.println(“打開(kāi)連接成功!“);
????sessionMap.put(userId?session);
????System.out.println(“用戶“+userId+“進(jìn)來(lái)了。。。“);
????System.out.println(“當(dāng)前在線人數(shù):“+sessionMap.size());
??}
?
??/**
???*?關(guān)閉連接事件
???*/
??@OnClose
??public?void?onClose(Session?session@PathParam(value=“userId“)String?userId)?{
????System.out.println(“關(guān)閉連接成功!“);
????System.out.println(“用戶“+userId+“離開(kāi)了。。。“);
????sessionMap.remove(userId);
????System.out.println(“當(dāng)前在線人數(shù):“+sessionMap.size());
??}
??
??/**
???*?錯(cuò)誤信息響應(yīng)事件
???*?@param?session
???*?@param?throwable
???*/
??@onerror
??public?void?onerror(Session?sessionThrowable?throwable@PathParam(value=“userId“)String?userId)?{
????System.out.println(“異常:“+throwable.getMessage());
????System.out.println(“用戶“+userId+“的連接出現(xiàn)了錯(cuò)誤。。?!埃?
????System.out.println(“當(dāng)前在線人數(shù):“+sessionMap.size());
??}
??
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-23?16:07??websocket-demo\
?????文件?????????943??2017-03-23?17:15??websocket-demo\.classpath
?????文件????????1413??2017-03-23?16:27??websocket-demo\.project
?????目錄???????????0??2017-03-23?16:07??websocket-demo\.settings\
?????文件?????????522??2016-01-08?09:46??websocket-demo\.settings\.jsdtscope
?????文件?????????364??2016-01-08?09:46??websocket-demo\.settings\org.eclipse.jdt.core.prefs
?????文件?????????501??2016-01-08?09:46??websocket-demo\.settings\org.eclipse.wst.common.component
?????文件?????????414??2016-01-08?09:46??websocket-demo\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件??????????49??2016-01-08?09:46??websocket-demo\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2016-01-08?09:46??websocket-demo\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????目錄???????????0??2017-03-23?16:41??websocket-demo\WebRoot\
?????目錄???????????0??2017-03-23?16:07??websocket-demo\WebRoot\me
?????文件??????????39??2016-01-08?09:46??websocket-demo\WebRoot\me
?????目錄???????????0??2017-03-23?16:07??websocket-demo\WebRoot\WEB-INF\
?????目錄???????????0??2017-03-23?17:15??websocket-demo\WebRoot\WEB-INF\classes\
?????目錄???????????0??2017-03-23?17:15??websocket-demo\WebRoot\WEB-INF\classes\com\
?????目錄???????????0??2017-03-23?17:15??websocket-demo\WebRoot\WEB-INF\classes\com\web\
?????目錄???????????0??2017-03-23?17:15??websocket-demo\WebRoot\WEB-INF\classes\com\web\demo\
?????文件????????3658??2017-03-23?17:15??websocket-demo\WebRoot\WEB-INF\classes\com\web\demo\WebSocketTest.class
?????目錄???????????0??2017-03-23?16:16??websocket-demo\WebRoot\WEB-INF\lib\
?????文件???????36611??2017-03-23?16:16??websocket-demo\WebRoot\WEB-INF\lib\javax.websocket-api-1.0.jar
?????文件?????????463??2016-01-08?09:50??websocket-demo\WebRoot\WEB-INF\web.xm
?????文件????????1970??2017-03-23?18:13??websocket-demo\WebRoot\chat.html
?????文件????????1193??2017-03-23?16:44??websocket-demo\WebRoot\test.html
?????目錄???????????0??2017-03-23?16:07??websocket-demo\src\
?????目錄???????????0??2017-03-23?16:07??websocket-demo\src\com\
?????目錄???????????0??2017-03-23?16:07??websocket-demo\src\com\web\
?????目錄???????????0??2017-03-23?16:07??websocket-demo\src\com\web\demo\
?????文件????????2533??2017-03-23?16:16??websocket-demo\src\com\web\demo\WebSocketTest.java
評(píng)論
共有 條評(píng)論