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

  • 大小: 1.59MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-08-10
  • 語言: 其他
  • 標簽: websocket??

資源簡介

實現websocket向指定的用戶發送信息,只有指定的人可以收到信息,其他人無法收到

資源截圖

代碼片段和文件信息

package?com.aa.websocket;

import?javax.websocket.*;
import?javax.websocket.server.PathParam;
import?javax.websocket.server.ServerEndpoint;
import?java.io.IOException;
import?java.text.DateFormat;
import?java.text.SimpleDateFormat;
import?java.util.Date;
import?java.util.concurrent.ConcurrentHashMap;

/**
?*?@ServerEndpoint?注解是一個類層次的注解,它的功能主要是將目前的類定義成一個websocket服務器端
?*?注解的值將被用于監聽用戶連接的終端訪問URL地址客戶端可以通過這個URL來連接到WebSocket服務器端
?*?@ServerEndpoint?可以把當前類變成websocket服務類
?*/
@ServerEndpoint(“/websocket/{userno}“)
public?class?WebSocketTest?{
????//靜態變量,用來記錄當前在線連接數。應該把它設計成線程安全的。
????private?static?int?onlineCount?=?0;
????//concurrent包的線程安全Set,用來存放每個客戶端對應的MyWebSocket對象。若要實現服務端與單一客戶端通信的話,可以使用Map來存放,其中Key可以為用戶標識
????private?static?ConcurrentHashMap?webSocketSet?=?new?ConcurrentHashMap();
????//與某個客戶端的連接會話,需要通過它來給客戶端發送數據
????private?Session?WebSocketsession;
????//當前發消息的人員編號
????private?String?userno?=?““;

????/**
?????*?連接建立成功調用的方法
?????*
?????*?@param?session?可選的參數。session為與某個客戶端的連接會話,需要通過它來給客戶端發送數據
?????*/
????@OnOpen
????public?void?onOpen(@PathParam(value?=?“userno“)?String?param?Session?WebSocketsession?EndpointConfig?config)?{
????????System.out.println(param);
????????userno?=?param;//接收到發送消息的人員編號
????????this.WebSocketsession?=?WebSocketsession;
????????webSocketSet.put(param?this);//加入map中
????????addOnlineCount();???????????//在線數加1
????????System.out.println(“有新連接加入!當前在線人數為“?+?getOnlineCount());
????}

????/**
?????*?連接關閉調用的方法
?????*/
????@OnClose
????public?void?onClose()?{
????????if?(!userno.equals(““))?{
????????????webSocketSet.remove(userno);??//從set中刪除
????????????subOnlineCount();???????????//在線數減1
????????????System.out.println(“有一連接關閉!當前在線人數為“?+?getOnlineCount());
????????}
????}

????/**
?????*?收到客戶端消息后調用的方法
?????*
?????*?@param?message?客戶端發送過來的消息
?????*?@param?session?可選的參數
?????*/
????@SuppressWarnings(“unused“)
// @OnMessage
????public?void?onMessage(String?message?Session?session)?{
????????System.out.println(“來自客戶端的消息:“?+?message);
//????????session.get
????????//群發消息
????????if?(1?????????????sendAll(message);
????????}?else?{
????????????//給指定的人發消息
????????????sendToUser(message);
????????}
????}

????/**
?????*?給指定的人發送消息
?????*?@param?message
?????*/
????@OnMessage
????public?void?sendToUser(String?message)?{
????????String?sendUserno?=?message.split(“[|]“)[1];
????????String?sendMessage?=?message.split(“[|]“)[0];
????????String?now?=?getNowTime();
????????try?{
????????????if?(webSocketSet.get(sendUserno)?!=?null)?{
????????????????webSocketSet.get(sendUserno).sendMessage(now?+?“用戶“?+?userno?+?“發來消息:“?+?“?
?“?+?sendMessage);
????????????}?else?{
????????????????System.out.println(“當前用戶不在線“);
????????????}
????????}?catch?(IOException?e)?{
????????????e.printStackTrace();
????????}
????}

????/**
?????*?給所有人發消息
?????*?@param?message
?????*/
????private?void?sendAll(String

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-01?15:22??WebSocket2\
?????文件?????????833??2018-03-01?13:52??WebSocket2\.classpath
?????文件????????1043??2018-03-01?13:52??WebSocket2\.project
?????目錄???????????0??2018-03-01?15:22??WebSocket2\.settings\
?????文件?????????567??2018-03-01?13:52??WebSocket2\.settings\.jsdtscope
?????文件?????????364??2018-03-01?13:52??WebSocket2\.settings\org.eclipse.jdt.core.prefs
?????文件?????????482??2018-03-01?13:52??WebSocket2\.settings\org.eclipse.wst.common.component
?????文件?????????345??2018-03-01?13:52??WebSocket2\.settings\org.eclipse.wst.common.project.facet.core.xml
?????文件??????????49??2018-03-01?13:52??WebSocket2\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2018-03-01?13:52??WebSocket2\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????目錄???????????0??2018-03-01?15:22??WebSocket2\WebContent\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\WebContent\meta-INF\
?????文件??????????39??2018-03-01?13:52??WebSocket2\WebContent\meta-INF\MANIFEST.MF
?????目錄???????????0??2018-03-01?15:22??WebSocket2\WebContent\WEB-INF\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\WebContent\WEB-INF\lib\
?????文件?????1930692??2018-02-03?11:54??WebSocket2\WebContent\WEB-INF\lib\javaee-api-7.0.jar
?????文件?????????641??2018-03-01?13:52??WebSocket2\WebContent\WEB-INF\web.xml
?????文件????????3425??2018-03-01?14:22??WebSocket2\WebContent\index.jsp
?????文件????????3424??2018-03-01?14:22??WebSocket2\WebContent\index2.jsp
?????文件????????3424??2018-03-01?14:47??WebSocket2\WebContent\index3.jsp
?????目錄???????????0??2018-03-01?15:22??WebSocket2\build\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\build\classes\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\build\classes\com\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\build\classes\com\aa\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\build\classes\com\aa\websocket\
?????文件????????5027??2018-03-01?15:06??WebSocket2\build\classes\com\aa\websocket\WebSocketTest.class
?????目錄???????????0??2018-03-01?15:22??WebSocket2\src\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\src\com\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\src\com\aa\
?????目錄???????????0??2018-03-01?15:22??WebSocket2\src\com\aa\websocket\
?????文件????????5655??2018-03-01?15:06??WebSocket2\src\com\aa\websocket\WebSocketTest.java
............此處省略0個文件信息

評論

共有 條評論