使用tomcat方式实现websocket即时通讯服务端讲解
第一种方案:使用Tomcat的方式实现
tomcat版本要求:tomcat7.0+。需要支持Javaee7
导入javeee-api的jar(如果已经引入可以忽略):
pom.xml中加入:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
一:几个重要的注解(方法):
1.1:@ServerEndpoin():
声明这是一个websocket服务;
需要指定访问该服务的地址。
在地址中可以指定参数,需要使用{}进行占位。
注解使用位置:类上面
示例:
@ServerEndpoin("/websocket/{userId}")
public class myTest(){
}
1.2:@OnOpen:
该方法将在建立连接后执行,会传入session对象;
可以通过@PathParam来获取url声明中参数
注解使用位置:方法中
用法示例:
public void onOpen(Session session,@PathParam("userId") Integer userId) throws IOExcepthon{}
1.3:@OnClose:
该方法是在连接关闭后执行的
注解位置:方法上
使用示例:
public void onClose(){}
1.4:@OnMessage:
该方法用于接收客户端发来的消息
参数:
message:发来的消息数据
session:会话对象(也即是通道)
注解位置:方法
示例用法:
public void onMessage(String message,Session session) throws IOException{}
1.5:@OnError:
出错的时候访问的。
注解位置:方法上
使用示例:
public void onError(Session session,Throwable error){}
1.6:给客户端返回消息(或是给客户端发送消息):
使用session对象的getBasinRemoter().sendTest()方法
用法示例:
session.getBasicRemoter().sendText("您发送的消息已经收到了");
二:根据上面几个重要方法,编写客户端代码:
@OnOpen
public void onOpen(Session session, @PathParam("userName") String userName) throws IOException {
log.info("=== 打开连接了===");
session.getBasicRemote().sendText("欢迎:"+userName+"访问系统");
}
@OnMessage
public void onMessage(String message,Session session, @PathParam("userName") String userName) throws IOException {
log.info("==接收到客户端发来的消息是:{}",message);
session.getBasicRemote().sendText("您好:"+userName+" 您发送的消息"+message+",系统已经收到....");
}
访问效果:
说明:websocket访问的协议是ws://而非http://
上图中:橙色的是我发送的,下面对应的就是系统返回的。
查看服务器日志打印:
我们可以看到,通信已经建立了。代码已经放在git上了。欢迎大家一起学习。
下节预告:下节我们将使用spring框架来整合websocket的
相关推荐
使用Springboot集成的websocket需要使用到以下几个类/接口: WebSocketHandler:WebSocket消息以及生命周期事件的处理器。 WebSocketConfigurer:对WebSocket进行配置,包括配置拦截器、配置接口地址。 ...
在C#中,可以使用.NET Framework或.NET Core来实现WebSocket客户端和服务端的开发。下面将详细介绍C# WebSocket客户端和服务端的实现,以及源代码中的关键知识点。 **一、WebSocket简介** WebSocket协议是HTML5定义...
本项目是关于如何使用C#和WinForm来实现基于WebSocket的即时通讯。 首先,我们要理解C#的基础。C#是由微软开发的一种面向对象的编程语言,广泛应用于Windows平台的软件开发,包括桌面应用和服务器端应用。WinForm是...
使用Java-WebSocket开源框架开发Android端即时通讯功能。主要功能: 1、与websocket建立长连接 2、与websocket进行即时通讯 3、Service和Activity之间通讯和UI更新 4、弹出消息通知(包括锁屏通知) 5、心跳检测和重...
WebSocket是一种在客户端和服务器之间建立长连接...以上就是使用Java实现WebSocket客户端与服务端连接的关键知识点。实际应用中,还需要考虑异常处理、错误恢复、负载均衡、可扩展性等因素,确保系统的稳定性和可靠性。
在实现WebSocket即时通讯时,我们通常会使用Spring的WebSocket API和STOMP(Simple Text Oriented Messaging Protocol)协议。STOMP是一个简单的消息传输协议,适用于WebSocket,使得客户端和服务器间的数据交换变得...
综上所述,要使用Tomcat实现WebSocket,你需要理解WebSocket的基本概念,配置Tomcat以支持WebSocket,编写WebSocket服务器端点代码,并在客户端使用适当的API与服务器进行通信。同时,还需要关注性能和安全方面的...
本文将详细讲解如何使用QT进行WebSocket的客户端和服务端通信。 **一、QT与WebSocket库** 在QT中,我们可以使用`QtWebSockets`模块来实现WebSocket功能。这个模块包含两个主要类:`QWebSocket`(客户端)和`...
这个代码例子使用了c c++实现了websocket 开发 包含了websocket服务器和websocket客户端,拥有详细的解释 这个库比libwebsocket更加简单方便,比libsocket更加高效便捷.
在"StriveEngine.SimpleDemo"这个示例中,可能包含了一个简单的WebSocket客户端和服务端的实现。客户端通常会使用JavaScript的WebSocket API来创建连接,发送和接收数据。服务器端则可以使用各种编程语言(如Node.js...
在Qt中,我们可以使用`QWebSocket`类来实现WebSocket的客户端和服务器端通信。`QWebSocket`是Qt网络模块的一部分,它为WebSocket协议提供了一个方便的API。 首先,我们来看客户端的实现。在Qt中创建一个WebSocket...
以上就是使用C#和.NET6实现WebSocket服务端的基本流程。通过理解WebSocket协议的细节和.NET6提供的API,你可以创建高效且可靠的WebSocket服务器,满足实时通信的需求。在实际项目中,你可能还需要考虑错误处理、性能...
总的来说,通过Delphi实现的WebSocket服务端,你可以学习到如何利用Delphi的网络编程接口来实现一个实时通信系统,这不仅加深了对WebSocket协议的理解,也为构建其他基于TCP/IP的网络应用奠定了基础。
在WebSocket即时通讯中,Workerman作为服务器端的支撑,能够处理WebSocket连接,实现与客户端的双向通信,确保数据的实时传输。 3. **HTML5**: HTML5是下一代HTML标准,其一大亮点就是提供了WebSocket协议,用于...
### WebSocket的Java和Tomcat7使用详解 #### 一、WebSocket简介 ...为了改善这一状况,HTML5引入了WebSocket协议,这是一种在客户端...无论是即时通讯还是实时数据更新,WebSocket都能为用户提供更加流畅和及时的体验。
本文将深入探讨如何使用WebSocketSharp来实现Unity中的WebSocket客户端与服务端通信。 一、WebSocketSharp简介 WebSocketSharp是一个开源项目,提供了对WebSocket协议的全面支持。它包括一个WebSocket客户端库,...
WebSocket客户端和服务端实例源码 WebSocket ws实例 HTML5 用java实现的服务端 Websocket与服务器的正常通信 可以用客户端测试任意语言的服务端...webSocket客户端使用Tomcat7以上 服务端只要有jdk7以上环境就可运行。
在这个项目中,我们看到的是使用Visual Studio 2017(VS2017)和C#语言实现WebSocket服务端和客户端的源代码。 1. **WebSocket协议基础** WebSocket协议是基于TCP的,它为Web应用程序提供了全双工通信能力。与HTTP...
本教程将通过Tomcat 9.0来演示如何使用WebSocket实现点对点的聊天功能。 首先,我们需要了解WebSocket的基础知识。WebSocket协议定义了一种在客户端和服务器之间建立持久连接的方法,允许双方进行双向数据传输。与...