java WebSocket 服务端代码

简介: java WebSocket 服务端代码
ackage org.fh.plugins.ChatServer;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import org.java_websocket.WebSocket;
import org.java_websocket.framing.Framedata;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
/**
 * 说明:websocket服务端
 * 作者:FH Admin
 * from:fhadmin.cn
 */
public class ChatServer extends WebSocketServer{
  public BulletChatServer(int port) throws UnknownHostException {
    super(new InetSocketAddress(port));
  }
  public BulletChatServer(InetSocketAddress address) {
    super(address);
  }
  /**
   * 客户端发送消息到服务器时触发事件
   */
  @Override
  public void onMessage(WebSocket conn, String message){
    message = message.toString();
    if(null != message && message.startsWith("[video313596790]")){
      this.userjoin(message.replaceFirst("\\[video313596790\\]", ""),conn);
    }else{
      BulletChatServerPlool.sendMessage(message.toString());//向所有在线用户发送消息
    }
  }
  public void onFragment( WebSocket conn, Framedata fragment ) {
  }
  /**
   * 用户加入处理
   * @param user
   */
  public void userjoin(String user, WebSocket conn){
    BulletChatServerPlool.addUser(user,conn);             //向连接池添加当前的连接对象
  }
  /**
   * 用户下线处理
   * @param user
   */
  public void userLeave(WebSocket conn){
    BulletChatServerPlool.removeUser(conn);               //在连接池中移除连接
  }
  /**
   * 触发连接事件
   */
  @Override
  public void onOpen( WebSocket conn, ClientHandshake handshake ) {}
  /**
   * 触发关闭事件
   */
  @Override
  public void onClose( WebSocket conn, int code, String reason, boolean remote ) {
    userLeave(conn);
  }
  /**
   * 触发异常事件
   */
  @Override
  public void onError( WebSocket conn, Exception ex ) {
    if( conn != null ) {}
  }
  @Override
  public void onStart() {}
}

 

目录
相关文章
|
14天前
|
存储 JavaScript 前端开发
webSocket+Node+Js实现在线聊天(包含所有代码)
文章介绍了如何使用WebSocket、Node.js和JavaScript实现在线聊天功能,包括完整的前端和后端代码示例。
65 0
|
2天前
|
Java
Java关键字 —— super 详细解释!一看就懂 有代码实例运行!
文章详细解释了Java关键字`super`的用途,包括访问父类的成员变量、调用父类的构造方法和方法,并提供了相应的代码实例。
17 5
Java关键字 —— super 详细解释!一看就懂 有代码实例运行!
|
5天前
|
Java 数据处理 开发者
Java中的Lambda表达式:简化你的代码之路
【8月更文挑战第66天】Lambda表达式在Java 8中首次引入,它为Java开发者提供了一种更简洁、更灵活的编程方式。本文将通过简单易懂的语言和实际代码示例,引导你理解Lambda表达式的基本概念、语法结构以及如何在Java项目中应用它来简化代码。无论你是Java新手还是有经验的开发者,这篇文章都将帮助你更好地掌握这一强大的工具。
34 11
|
2天前
|
存储 Java 数据安全/隐私保护
Java中的域,什么是域?计算机语言中的域是什么?(有代码实例)
文章解释了Java中域的概念,包括实例域、静态域、常量域和局部域,以及它们的特点和使用场景。
9 2
|
23天前
|
设计模式 Java
Java设计模式:组合模式的介绍及代码演示
组合模式是一种结构型设计模式,用于将多个对象组织成树形结构,并统一处理所有对象。例如,统计公司总人数时,可先统计各部门人数再求和。该模式包括一个通用接口、表示节点的类及其实现类。通过树形结构和节点的通用方法,组合模式使程序更易扩展和维护。
Java设计模式:组合模式的介绍及代码演示
|
2天前
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
20 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
2天前
|
Java
Java关键字 —— super 与 this 详细解释!一看就懂 有代码实例运行!
本文介绍了Java中this和super关键字的用法,包括在构造方法中使用this来区分参数和成员变量、使用super调用父类构造方法和方法,以及它们在同一个方法中同时使用的场景。
10 0
Java关键字 —— super 与 this 详细解释!一看就懂 有代码实例运行!
|
2天前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
19 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
3天前
|
JSON Java 开发工具
Java服务端集成Google FCM推送的注意事项和实际经验
公司的app要上海外,涉及到推送功能,经过综合考虑,选择Google FCM进行消息推送。 查看一些集成博客和官方文档,看的似懂非懂,迷迷惑惑。本篇文章除了将我实际集成的经验分享出来,也会对看到的博客及其中产生的疑惑、注意事项一一评论。 从官方文档和众多博客中,你会发现Java集成FCM推送有多种实现方式,会让生产生文档很乱,不知作何选择的困惑。
14 0
|
12天前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
33 5