WebSocket 简单搭建

7 篇文章 0 订阅
1 篇文章 0 订阅

WebSocket 是在 HTTP 更上一层的通信协议,适合对于实时通信要求比较高的场景。比如微信聊天,当用户还在 APP 停留的时候,有消息就要能够接受到。服务器是一个被动接收请求再回复的技术,如果要让客户端在信息刚产生的时候就收到的话,就需要客户端不断地请求。这种 polling 的方法比较消耗资源。

WebSocket 通过订阅和分发的模式实现了实时通信,下面我们提供一个代码库来搭建一个简单的 WebSocket. 读者可以通过阅读 readme 来运行和验证该服务器。

成功运行以后可以看到类似输出。
websocket 运行 idea intellj

打开浏览器以后,可以看到如下页面。
浏览器中的 websocket 测试,chrome

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建 WebSocket 服务,可以使用 Java 的 WebSocket API。以下是使用 Java WebSocket API 实现的简单示例: 1. 创建一个 WebSocket 服务类: ```java import java.io.IOException; import javax.websocket.OnMessage; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; @ServerEndpoint("/websocket") public class WebSocketServer { @OnMessage public void onMessage(Session session, String message) throws IOException { System.out.println("Received message: " + message); session.getBasicRemote().sendText("Hello client, I have received your message: " + message); } } ``` 2. 在 `web.xml` 文件中添加 WebSocket 服务配置: ```xml <web-app> <display-name>WebSocketDemo</display-name> <servlet> <servlet-name>WebSocketServlet</servlet-name> <servlet-class>org.apache.tomcat.websocket.server.WsSci</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>WebSocketServlet</servlet-name> <url-pattern>/websocket/*</url-pattern> </servlet-mapping> </web-app> ``` 3. 在项目中添加 WebSocket API 的依赖: ```xml <dependencies> <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-websocket</artifactId> <version>8.0.36</version> </dependency> </dependencies> ``` 4. 启动 Tomcat 服务器并访问 WebSocket 服务: ``` ws://localhost:8080/websocket ``` 以上就是一个使用 Java WebSocket API 搭建 WebSocket 服务的简单示例。当客户端连接到 WebSocket 服务时,`onMessage` 方法将被调用并接收客户端发送的消息。我们可以在该方法中对消息进行处理,并向客户端发送响应消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值