• 大小: 7KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Java
  • 标签: websocket  

资源简介

本人自己写的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.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

     文件       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\meta-INF\MANIFEST.MF

     文件       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.xml

     目录          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\meta-INF

     目录          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个文件信息

评论

共有 条评论