資源簡介
本人自己寫的websocket實例免費分享給大家,這個是java版本websocket實例哦。

代碼片段和文件信息
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的時候初始化。
??/**
???*?接收信息事件
???*?@param?message?客戶端發來的消息
???*?@param?session?當前會話
???*/
??@OnMessage
??public?void?onMessage(String?messageSession?session@PathParam(value=“userId“)String?userId)throws?Exception?{
???
????try?{
???? Iterator?it?=?sessionMap.keySet().iterator();
???? //循環給每個客戶端發送信息
???? while(it.hasNext()){
???? String?key?=?(String)?it.next();
???? Session?value?=?sessionMap.get(key);
???? value.getBasicRemote().sendText(message);
???? }
???? ?System.out.println(“用戶“+userId+“說:“+message+“。“);
???? ?System.out.println(“當前在線人數:“+sessionMap.size());
}?catch?(Exception?e)?{
System.out.println(“接收消息事件異常!“);
}
??}
??
??/**
???*?打開連接事件
?*?@throws?Exception?
???*/
??@OnOpen
??public?void?onOpen(Session?session@PathParam(value=“userId“)String?userId)?throws?Exception?{
????System.out.println(“打開連接成功!“);
????sessionMap.put(userId?session);
????System.out.println(“用戶“+userId+“進來了。。。“);
????System.out.println(“當前在線人數:“+sessionMap.size());
??}
?
??/**
???*?關閉連接事件
???*/
??@OnClose
??public?void?onClose(Session?session@PathParam(value=“userId“)String?userId)?{
????System.out.println(“關閉連接成功!“);
????System.out.println(“用戶“+userId+“離開了。。。“);
????sessionMap.remove(userId);
????System.out.println(“當前在線人數:“+sessionMap.size());
??}
??
??/**
???*?錯誤信息響應事件
???*?@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+“的連接出現了錯誤。。。“);
????System.out.println(“當前在線人數:“+sessionMap.size());
??}
??
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????873??2016-01-08?09:48??websocket-demo\.classpath
?????文件???????1339??2016-01-08?10:23??websocket-demo\.project
?????文件????????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
?????文件???????2533??2016-01-08?11:12??websocket-demo\src\com\web\demo\WebSocketTest.java
?????文件???????1938??2016-01-08?11:11??websocket-demo\WebRoot\chat.html
?????文件?????????39??2016-01-08?09:46??websocket-demo\WebRoot\me
?????文件???????3654??2016-01-08?11:12??websocket-demo\WebRoot\WEB-INF\classes\com\web\demo\WebSocketTest.class
?????文件????????463??2016-01-08?09:50??websocket-demo\WebRoot\WEB-INF\web.xm
?????目錄??????????0??2016-01-08?11:23??websocket-demo\WebRoot\WEB-INF\classes\com\web\demo
?????目錄??????????0??2016-01-08?11:23??websocket-demo\WebRoot\WEB-INF\classes\com\web
?????目錄??????????0??2016-01-08?11:23??websocket-demo\src\com\web\demo
?????目錄??????????0??2016-01-08?11:23??websocket-demo\WebRoot\WEB-INF\classes\com
?????目錄??????????0??2016-01-08?11:23??websocket-demo\src\com\web
?????目錄??????????0??2016-01-08?11:23??websocket-demo\WebRoot\WEB-INF\classes
?????目錄??????????0??2016-01-08?09:46??websocket-demo\WebRoot\WEB-INF\lib
?????目錄??????????0??2016-01-08?11:23??websocket-demo\src\com
?????目錄??????????0??2016-01-08?11:23??websocket-demo\WebRoot\me
?????目錄??????????0??2016-01-08?11:23??websocket-demo\WebRoot\WEB-INF
?????目錄??????????0??2016-01-08?11:23??websocket-demo\.settings
?????目錄??????????0??2016-01-08?11:23??websocket-demo\src
?????目錄??????????0??2016-01-08?11:23??websocket-demo\WebRoot
?????目錄??????????0??2016-01-08?11:23??websocket-demo
-----------?---------??----------?-----??----
????????????????12695????????????????????27
............此處省略0個文件信息
評論
共有 條評論