• 大小: 39KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-19
  • 语言: Java
  • 标签: demo工程  

资源简介

完整的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的时候初始化。
  /**
   * 接收信息事件
   * @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());
  }
  
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           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.xml
     文件          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\meta-INF\
     文件          39  2016-01-08 09:46  websocket-demo\WebRoot\meta-INF\MANIFEST.MF
     目录           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.xml
     文件        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

评论

共有 条评论