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

全部博文(298)

文章存档

2022年(96)

2021年(201)

2019年(1)

我的朋友

分类: Java

2022-05-11 14:07:05


点击(此处)折叠或打开


  1. ackage org.fh.plugins.ChatServer;
  2.  
  3. import java.net.InetSocketAddress;
  4. import java.net.UnknownHostException;
  5.  
  6. import org.java_websocket.WebSocket;
  7. import org.java_websocket.framing.Framedata;
  8. import org.java_websocket.handshake.ClientHandshake;
  9. import org.java_websocket.server.WebSocketServer;
  10.  
  11. /**
  12.  * 说明:websocket服务端
  13.  * 作者:FH Admin
  14.  * from:fhadmin.cn
  15.  */
  16. public class ChatServer extends WebSocketServer{
  17.  
  18.     public BulletChatServer(int port) throws UnknownHostException {
  19.         super(new InetSocketAddress(port));
  20.     }
  21.  
  22.     public BulletChatServer(InetSocketAddress address) {
  23.         super(address);
  24.     }
  25.  
  26.     /**
  27.      * 客户端发送消息到服务器时触发事件
  28.      */
  29.     @Override
  30.     public void onMessage(WebSocket conn, String message){
  31.         message = message.toString();
  32.         if(null != message && message.startsWith("[video313596790]")){
  33.             this.userjoin(message.replaceFirst("\\[video313596790\\]", ""),conn);
  34.         }else{
  35.             BulletChatServerPlool.sendMessage(message.toString());//向所有在线用户发送消息
  36.         }
  37.     }
  38.  
  39.     public void onFragment( WebSocket conn, Framedata fragment ) {
  40.     }
  41.     
  42.     /**
  43.      * 用户加入处理
  44.      * @param user
  45.      */
  46.     public void userjoin(String user, WebSocket conn){
  47.         BulletChatServerPlool.addUser(user,conn);                            //向连接池添加当前的连接对象
  48.     }
  49.     
  50.     /**
  51.      * 用户下线处理
  52.      * @param user
  53.      */
  54.     public void userLeave(WebSocket conn){
  55.         BulletChatServerPlool.removeUser(conn);                                 //在连接池中移除连接
  56.     }
  57.     
  58.     /**
  59.      * 触发连接事件
  60.      */
  61.     @Override
  62.     public void onOpen( WebSocket conn, ClientHandshake handshake ) {}
  63.  
  64.     /**
  65.      * 触发关闭事件
  66.      */
  67.     @Override
  68.     public void onClose( WebSocket conn, int code, String reason, boolean remote ) {
  69.         userLeave(conn);
  70.     }
  71.     
  72.     /**
  73.      * 触发异常事件
  74.      */
  75.     @Override
  76.     public void onError( WebSocket conn, Exception ex ) {
  77.         if( conn != null ) {}
  78.     }
  79.     
  80.     @Override
  81.     public void onStart() {}
  82.  
  83. }


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