91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 97KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-10
  • 語言: 其他
  • 標簽: webSocket??java??

資源簡介

它的最大特點就是,服務器可以主動向客戶端推送信息,客戶端也可以主動向服務器發送信息,是真正的雙向平等對話,屬于服務器推送技術的一種。

資源截圖

代碼片段和文件信息

package?com.webSocket;??
??
import?java.io.IOException;??
import?java.util.Map;
import?java.util.Map.Entry;
import?java.util.concurrent.ConcurrentHashMap;
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;??


import?net.sf.json.JSONArray;
import?net.sf.json.JSONobject;
??
@ServerEndpoint(value?=?“/meeting/{param}“)??
public?class?MeetingService?{??
//?靜態變量,用來記錄當前在線連接數。應該把它設計成線程安全的。
private?static?int?onlineCount;
????private?static?final?Map?connections?=?new?ConcurrentHashMap<>();?
????private?Session?session;
????private?String?role;
????private?String?socketId;
????public?MeetingService()?{??
????
????}??
??

@OnOpen??
????public?synchronized?void??start(@PathParam(“param“)?String?paramSession?session)?{
????????this.session?=?session;
????????String[]?arr=param.split(““);
????????this.role=param;
????????this.socketId=arr[1];
????????connections.put(rolethis);??
????????broadcast(“{\“event\“:\“msg\“\“data\“:\““+role+“\“}“socketId);
????????JSONArray?array=new?JSONArray();
????????for?(Entry?client??:?connections.entrySet())?{
???????? if(client.getValue().socketId.equals(socketId)||client.getValue().socketId==socketId){
???????? array.add(client.getKey());
???????? }
}
send(“{\“event\“:\“rolelist\“\“data\“:“+array.toString()+“}“?rolesocketId);
addOnlineCount();?//?在線數加
System.out.println(“有新連接加入!新用戶:“+role+“當前在線人數為“?+?getOnlineCount());
}??
??
????@OnClose??
????public?void?end()?{??
????????connections.remove(role);??
????????System.out.println(socketId);
????????String?msg=(“{\“event\“:\“role\“\“data\“:\““+role+“\“}“);
????????broadcast(msgsocketId);
????????subOnlineCount();?//?在線數減
System.out.println(“有一連接關閉!當前在線人數為“?+?getOnlineCount());
????}??
??
????@OnMessage??
????public?void?incoming(String?message)?{??
???? try?{
???????? JSONobject?json=JSONobject.fromobject(message);
???????? if(json.has(“msg“)){
???????? broadcast(messagesocketId);
???????? }
???????? if(json.has(“to“)){
????????????????send(messagejson.getString(“to“)socketId);??????
???????? }
???????? String?string?=?““;
???? String?to?=?null;
???? if(json.has(“message“)){
???? ?string?=?(String)?json.get(“message“);
???? }
???? if(json.has(“role“)){
???? ?to?=?(String)?json.get(“role“);
???? }
???? send(“{\“event\“:\“message\“\“data\“:\““+string+“\“\“from\“:\““+role+“\“}“roletosocketId);
}?catch?(Exception?e)?{
//?TODO:?handle?exception

}

????}??
??
????@onerror??
????public?void?onerror(Throwable?t)?throws?Throwable?{??
????????System.out.println(“Chat?Error:?“?+?t.toString());??
????}??
????
????//發送給指定角色
????private?static?void?send(String?msgString?fromString?toString?s

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-25?06:37??webSocket\
?????文件????????1358??2018-05-25?06:37??webSocket\.classpath
?????文件???????????9??2018-05-25?06:37??webSocket\.gitignore
?????文件????????1085??2018-05-25?06:37??webSocket\.project
?????目錄???????????0??2018-05-25?06:37??webSocket\.settings\
?????文件?????????639??2018-05-25?06:37??webSocket\.settings\.jsdtscope
?????文件??????????96??2018-05-25?06:37??webSocket\.settings\org.eclipse.core.resources.prefs
?????文件?????????736??2018-05-25?06:37??webSocket\.settings\org.eclipse.jdt.core.prefs
?????文件??????????90??2018-05-25?06:37??webSocket\.settings\org.eclipse.m2e.core.prefs
?????文件?????????668??2018-05-25?06:37??webSocket\.settings\org.eclipse.wst.common.component
?????文件?????????321??2018-05-25?06:37??webSocket\.settings\org.eclipse.wst.common.project.facet.core.prefs.xml
?????文件?????????386??2018-05-25?06:37??webSocket\.settings\org.eclipse.wst.common.project.facet.core.xml
?????文件??????????49??2018-05-25?06:37??webSocket\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2018-05-25?06:37??webSocket\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件??????????50??2018-05-25?06:37??webSocket\.settings\org.eclipse.wst.validation.prefs
?????文件????????1686??2018-05-25?06:37??webSocket\pom.xml
?????目錄???????????0??2018-05-25?06:37??webSocket\src\
?????目錄???????????0??2018-05-25?06:37??webSocket\src\main\
?????目錄???????????0??2018-05-25?06:37??webSocket\src\main\java\
?????目錄???????????0??2018-05-25?06:37??webSocket\src\main\java\com\
?????目錄???????????0??2018-05-25?06:37??webSocket\src\main\java\com\webSocket\
?????文件????????5444??2018-05-25?06:37??webSocket\src\main\java\com\webSocket\MeetingService.java
?????文件????????7472??2018-05-25?06:37??webSocket\src\main\java\com\webSocket\WebRtc.java
?????文件????????3344??2018-05-25?06:37??webSocket\src\main\java\com\webSocket\WebSocketMany.java
?????文件????????3966??2018-05-25?06:37??webSocket\src\main\java\com\webSocket\WebSocketOneToOne.java
?????文件??????????18??2018-05-25?06:37??webSocket\src\main\java\com\webSocket\tip
?????目錄???????????0??2018-05-25?06:37??webSocket\src\main\webapp\
?????目錄???????????0??2018-05-25?06:37??webSocket\src\main\webapp\WEB-INF\
?????文件?????????342??2018-05-25?06:37??webSocket\src\main\webapp\WEB-INF\web.xml
?????文件?????????953??2018-05-25?06:37??webSocket\src\main\webapp\index.jsp
?????文件?????????777??2018-05-25?06:37??webSocket\src\main\webapp\involver.jsp
............此處省略20個文件信息

評論

共有 條評論