当前位置: 首页> 健康> 美食 > 网站建设昆明_意外险平台服务网站_最火的网络推广平台_网络营销首先要做什么

网站建设昆明_意外险平台服务网站_最火的网络推广平台_网络营销首先要做什么

时间:2025/7/9 10:38:16来源:https://blog.csdn.net/zru_9602/article/details/146995186 浏览次数:0次
网站建设昆明_意外险平台服务网站_最火的网络推广平台_网络营销首先要做什么

Java 连接 WebSocket 入门教程

1. WebSocket 简介

WebSocket 是一种全双工通信协议,它允许客户端和服务器之间建立持久连接,实现低延迟、实时交互。相比于传统的 HTTP 轮询,WebSocket 具有更高的效率和更低的带宽消耗。

2. Java WebSocket 依赖

在 Java 中,我们可以使用 javax.websocketSpring WebSocket 来实现 WebSocket 连接。

2.1 添加 Maven 依赖

对于 Java EE WebSocket:

<dependency><groupId>javax.websocket</groupId><artifactId>javax.websocket-api</artifactId><version>1.1</version>
</dependency>

对于 Spring WebSocket:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

3. Java WebSocket 服务器端实现

3.1 使用 Java EE 实现 WebSocket 服务器

import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.concurrent.CopyOnWriteArraySet;@ServerEndpoint("/websocket")
public class WebSocketServer {private static final CopyOnWriteArraySet<Session> sessions = new CopyOnWriteArraySet<>();@OnOpenpublic void onOpen(Session session) {sessions.add(session);System.out.println("新连接建立: " + session.getId());}@OnMessagepublic void onMessage(String message, Session session) throws IOException {System.out.println("收到消息: " + message);for (Session s : sessions) {s.getBasicRemote().sendText("服务器响应: " + message);}}@OnClosepublic void onClose(Session session) {sessions.remove(session);System.out.println("连接关闭: " + session.getId());}@OnErrorpublic void onError(Session session, Throwable error) {error.printStackTrace();}
}

3.2 配置 WebSocket 服务器

如果使用的是 Spring Boot,需要创建 WebSocket 配置类:

import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(new MyWebSocketHandler(), "/ws").setAllowedOrigins("*");}
}

4. Java WebSocket 客户端实现

使用 java.net.http.WebSocket 进行客户端连接:

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.WebSocket;
import java.util.concurrent.CompletionStage;public class WebSocketClient {public static void main(String[] args) {HttpClient client = HttpClient.newHttpClient();WebSocket webSocket = client.newWebSocketBuilder().buildAsync(URI.create("ws://localhost:8080/websocket"), new WebSocketListener()).join();webSocket.sendText("Hello WebSocket!", true);}
}class WebSocketListener implements WebSocket.Listener {@Overridepublic void onOpen(WebSocket webSocket) {System.out.println("WebSocket 连接成功");webSocket.request(1);}@Overridepublic CompletionStage<?> onText(WebSocket webSocket, CharSequence data, boolean last) {System.out.println("收到消息: " + data);webSocket.request(1);return null;}
}

5. 测试 WebSocket 连接

  1. 启动 Java WebSocket 服务器。
  2. 运行 WebSocket 客户端,检查是否成功连接并发送/接收消息。
  3. 也可以使用 WebSocket 在线测试工具(如 websocket.org)进行测试。

6. 结论

通过本文,你学习了如何使用 Java 连接 WebSocket,包括服务器端和客户端的实现。WebSocket 适用于实时通信场景,如聊天应用、数据推送等,提高了网络通信的效率和交互体验。

关键字:网站建设昆明_意外险平台服务网站_最火的网络推广平台_网络营销首先要做什么

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: