Chinaunix首页 | 论坛 | 博客
  • 博客访问: 603827
  • 博文数量: 298
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3077
  • 用 户 组: 普通用户
  • 注册时间: 2019-06-17 10:57
文章分类

全部博文(298)

文章存档

2022年(96)

2021年(201)

2019年(1)

我的朋友

分类: Java

2022-02-16 15:44:21


点击(此处)折叠或打开


  1. ackage org.fh.plugins.ChatServer;

  2. import java.net.InetSocketAddress;
  3. import java.net.UnknownHostException;

  4. import org.java_websocket.WebSocket;
  5. import org.java_websocket.framing.Framedata;
  6. import org.java_websocket.handshake.ClientHandshake;
  7. import org.java_websocket.server.WebSocketServer;

  8. /**
  9.  * 说明:websocket服务端
  10.  * 作者:FH Admin
  11.  * from:fhadmin.cn
  12.  */
  13. public class ChatServer extends WebSocketServer{

  14.     public BulletChatServer(int port) throws UnknownHostException {
  15.         super(new InetSocketAddress(port));
  16.     }

  17.     public BulletChatServer(InetSocketAddress address) {
  18.         super(address);
  19.     }

  20.     /**
  21.      * 客户端发送消息到服务器时触发事件
  22.      */
  23.     @Override
  24.     public void onMessage(WebSocket conn, String message){
  25.         message = message.toString();
  26.         if(null != message && message.startsWith("[video313596790]")){
  27.             this.userjoin(message.replaceFirst("\\[video313596790\\]", ""),conn);
  28.         }else{
  29.             BulletChatServerPlool.sendMessage(message.toString());//向所有在线用户发送消息
  30.         }
  31.     }

  32.     public void onFragment( WebSocket conn, Framedata fragment ) {
  33.     }
  34.     
  35.     /**
  36.      * 用户加入处理
  37.      * @param user
  38.      */
  39.     public void userjoin(String user, WebSocket conn){
  40.         BulletChatServerPlool.addUser(user,conn);                            //向连接池添加当前的连接对象
  41.     }
  42.     
  43.     /**
  44.      * 用户下线处理
  45.      * @param user
  46.      */
  47.     public void userLeave(WebSocket conn){
  48.         BulletChatServerPlool.removeUser(conn);                                 //在连接池中移除连接
  49.     }
  50.     
  51.     /**
  52.      * 触发连接事件
  53.      */
  54.     @Override
  55.     public void onOpen( WebSocket conn, ClientHandshake handshake ) {}

  56.     /**
  57.      * 触发关闭事件
  58.      */
  59.     @Override
  60.     public void onClose( WebSocket conn, int code, String reason, boolean remote ) {
  61.         userLeave(conn);
  62.     }
  63.     
  64.     /**
  65.      * 触发异常事件
  66.      */
  67.     @Override
  68.     public void onError( WebSocket conn, Exception ex ) {
  69.         if( conn != null ) {}
  70.     }
  71.     
  72.     @Override
  73.     public void onStart() {}

  74. }


阅读(748) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~