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() {}
}

 

目录
相关文章
|
5月前
|
Java
SpringBoot快速搭建WebSocket服务端和客户端
由于工作需要,研究了SpringBoot搭建WebSocket双向通信的过程,其他的教程看了许多,感觉讲得太复杂,很容易弄乱,这里我只展示快速搭建过程。
1507 1
|
6月前
|
网络协议 Java 开发工具
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
全平台开源即时通讯IM框架MobileIMSDK:7端+TCP/UDP/WebSocket协议,鸿蒙NEXT端已发布,5.7K Stars
309 1
|
存储 JavaScript 前端开发
webSocket+Node+Js实现在线聊天(包含所有代码)
文章介绍了如何使用WebSocket、Node.js和JavaScript实现在线聊天功能,包括完整的前端和后端代码示例。
643 0
|
JavaScript 前端开发 网络协议
WebSocket在Java Spring Boot+Vue框架中实现消息推送功能
在现代Web应用中,实时消息提醒是一项非常重要的功能,能够极大地提升用户体验。WebSocket作为一种在单个TCP连接上进行全双工通信的协议,为实现实时消息提醒提供了高效且低延迟的解决方案。本文将详细介绍如何在Java Spring Boot后端和Vue前端框架中利用WebSocket实现消息提醒功能。
1273 127
|
12月前
|
JavaScript 前端开发 测试技术
前端全栈之路Deno篇(五):如何快速创建 WebSocket 服务端应用 + 客户端应用 - 可能是2025最佳的Websocket全栈实时应用框架
本文介绍了如何使用Deno 2.0快速构建WebSocket全栈应用,包括服务端和客户端的创建。通过一个简单的代码示例,展示了Deno在WebSocket实现中的便捷与强大,无需额外依赖,即可轻松搭建具备基本功能的WebSocket应用。Deno 2.0被认为是最佳的WebSocket全栈应用JS运行时,适合全栈开发者学习和使用。
621 7
|
网络协议 Java API
如何在Java中实现WebSocket通信
如何在Java中实现WebSocket通信
|
移动开发 监控 Java
如何使用Java中的WebSocket?
如何使用Java中的WebSocket?
|
人工智能 安全 Go
Golang 搭建 WebSocket 应用(八) - 完整代码
Golang 搭建 WebSocket 应用(八) - 完整代码
89 0
|
存储 前端开发 Go
golang怎么搭建Websocket聊天室服务端
连接的添加和移除 添加连接: 当一个新的WebSocket连接建立时,服务器需要将这个连接添加到全局的连接列表中。多个连接可能同时建立,从而导致多个并发操作试图修改连接列表。 移除连接: 当一个WebSocket连接断开时,服务器需要将这个连接从全局的连接列表中移除。如果多个连接同时断开,可能会导致并发修改连接列表。
139 0
|
监控 网络协议 Java
Java中的WebSocket实时通信技术详解
Java中的WebSocket实时通信技术详解

热门文章

最新文章