`
zhoumeng87
  • 浏览: 70343 次
文章分类
社区版块
存档分类
最新评论

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

 

0
0
分享到:
评论

相关推荐

    websocket客户端和服务端

    总的来说,WebSocket为Web应用程序提供了强大的实时通信能力,`WebSocketClient.java`和`WebSocketServer.java`是实现这一功能的核心代码,它们共同确保了客户端和服务器之间的高效交互。在开发WebSocket应用时,...

    Android WebSocket实现即时通讯功能

    使用Java-WebSocket开源框架开发Android端即时通讯功能。主要功能: 1、与websocket建立长连接 2、与websocket进行即时通讯 3、Service和Activity之间通讯和UI更新 4、弹出消息通知(包括锁屏通知) 5、心跳检测和重...

    WebSocket服务端程序v160_websocekt即时通讯_

    描述中的"socket通信即时服务端源码 客服端服务端"进一步说明了这个压缩包的内容,它包含的是WebSocket服务端的源代码,可能还包括客服端(client-side)的实现。Socket是网络编程中的基础概念,是进程间通信的一种...

    java-开源即时通讯(IM)系统Android端

    4. **WebSocket**:为了实现即时通讯,WebSocket 提供了全双工通信通道,可以实现客户端和服务器的实时双向通信,使得消息传递更加快捷高效。 5. **数据库集成**:Android 应用通常使用 SQLite 数据库来存储用户...

    java+即时聊天+websocket+im

    java+即时聊天 - 单聊 - 群聊 - 聊天记录 - 状态切换 - 签名 - 消息提醒 - 未读消息数量显示 - 搜索 - 加好友 - 加群 - 申请审核 - 断线重连 - 服务端空闲检测 - 客户端心跳检测 - 在线状态实时更新(头像点亮与置灰)...

    环信即时通讯服务端DEMO

    环信即时通讯服务端DEMO是一款专为开发者设计的示例程序,用于展示如何集成和使用环信的即时通讯服务。这个DEMO包含了详细的代码示例,帮助开发者快速理解和掌握环信通信平台的功能和接口使用。环信是一家提供专业级...

    基于websocket实现浏览器端文本、视频、语音的即时通讯.zip

    在基于WebSocket实现浏览器端文本、视频、语音的即时通讯中,我们可以深入理解以下几个关键知识点: 1. **WebSocket基本原理**:WebSocket协议是HTTP/1.1协议的一个扩展,它通过一次握手建立长连接,解决了HTTP协议...

    AJax,java即时通讯 web qq

    【标题】"AJax,java即时通讯 web qq"揭示了一个基于Web技术实现的即时通讯系统,该系统利用Ajax和Java技术来模拟QQ的聊天功能。Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,...

    WebSocket.rar Android java-webSocket完整案例源码,推送,即时通信,双向通信,心跳重连

    java-webSocket是免费的,集成java-webSocket开源而成的一个比较完整的demo,实现了客户端向服务端发送消息,以及接收由服务端主动发送给客户端的消息,以及开启心跳,断连后重新连接。适用于需要双方相互主动互发...

    基于Netty+SpringBoot+WebSocket+HTML5+制作的仿微信聊天APP,该仓库为后端系统+源代码+文档说明

    使用个推进行APP端消息的推送,使用前后端心跳保持WebSocket连接。 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能...

    java websocket

    这种客户端是主动方,服务端是被动方的传统Web模式 对于信息变化不频繁的Web应用来说造成的麻烦较小,而对于涉及实时信息的Web应用却带来了很大的不便,如带有即时通信、实时数据、订阅推送等功能的应 用。...

    webSocketDemo

    要创建一个WebSocket服务端,你需要创建一个继承自`javax.websocket.OnMessage`、`OnOpen`和`OnClose`接口的类,这些接口分别用于处理接收到的消息、连接打开和关闭的事件。 例如,一个简单的WebSocket服务器端代码...

    基于Tomcat7、Java、Ext、WebSocket的聊天室

    在聊天室中,Java代码通常会创建WebSocket服务端端点,接收并响应客户端的连接请求,处理发送和接收的消息,以及管理用户状态等。例如,你可以看到类名以`@ServerEndpoint`注解的Java类,这个注解是Java API for ...

    WebSocket服务端

    1. 服务端代码:可能是用C#、Java、Node.js或其他语言编写的WebSocket服务端程序,用于处理客户端连接和数据交换。 2. 客户端脚本:可能是Unity3D的C#脚本,用于连接到WebSocket服务端并进行数据通信。 3. 配置文件...

    考拉开源仿微信uniapp前端+JAVA后端IM即时通讯

    1. 消息推送:即时通讯的关键在于消息的实时推送,通过长连接(如WebSocket)保持客户端和服务端的持续通信,一旦有新消息,服务端可以立即推送到客户端。 2. 消息同步:为了保证多设备间的同步,需要在用户登录时...

    WebSocket区分不同客户端两种方法(HttpSession和@PathParam)

    在现代Web应用开发中,WebSocket技术因其能够实现实时双向通信的特点而被广泛应用于各种场景,尤其是在即时通讯领域。然而,随着应用场景的复杂化,如何有效地识别并处理多个不同的客户端连接成为了一个重要的问题。...

    基于java网站即时通讯系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+辅导视频).zip

    通过本项目,开发者不仅可以掌握基于Java的即时通讯系统设计与实现,还能学习到如何在实际项目中应用WebSocket、Spring Boot、数据库设计等多个关键技术和工具,为今后的Web开发工作打下坚实的基础。

    android高仿QQ的即时通讯附带服务端.zip

    这个压缩包包含的主要文件是“android高仿QQ的即时通讯(附带服务端).rar”,这表明我们将会看到一个客户端应用程序的源代码以及可能的服务端接口或协议实现。 1. **即时通讯技术**: 即时通讯(Instant Messaging, ...

    JAVA即时通讯系统软件

    在即时通讯系统中,每个用户都可能既是客户端又是服务端,通过Socket进行数据的发送和接收。 2. **多线程**:为了实现即时性,系统需要同时处理多个用户的并发请求。Java的多线程机制使得服务器可以同时处理多个...

    基于Java网站即时通讯系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频).zip

    本项目涉及的是一个基于Java技术实现的网站即时通讯系统,主要涵盖了系统设计、实现、答辩材料及部署教程等多方面内容。以下将详细介绍这个系统的相关知识点: 1. **Java技术栈**:Java作为后端开发的主要语言,其...

Global site tag (gtag.js) - Google Analytics