当前位置: 首页 > news >正文

网站开发简单做销售最挣钱的10个行业

网站开发简单,做销售最挣钱的10个行业,网站优化的目的,对网站做综合搜索引擎优化分析背景 springboot 中使用okhttp3创建webSocket服务端 server1 和客户端 client1,客户端clinet1调用server1用于发送图片,创建客户端client2接收此图片. 在Spring Boot中使用OkHttp3创建WebSocket服务端和客户端,涉及到两个不同的操作&#xff…

背景

springboot 中使用okhttp3创建webSocket服务端 server1 和客户端
client1,客户端clinet1调用server1用于发送图片,创建客户端client2接收此图片.

在Spring
Boot中使用OkHttp3创建WebSocket服务端和客户端,涉及到两个不同的操作:建立WebSocket服务端和创建WebSocket客户端。OkHttp3库主要用于客户端操作,因此对于服务端,我们将使用Spring的WebSocket支持。

步骤 1: 创建WebSocket服务端(Server1)

  1. 添加Spring WebSocket依赖

pom.xml中添加Spring Boot的WebSocket依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
  1. 配置WebSocket

创建一个配置类来启用WebSocket并注册一个endpoint:

import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {@Overridepublic void registerStompEndpoints(StompEndpointRegistry registry) {registry.addEndpoint("/ws").setAllowedOrigins("*").withSockJS();}@Overridepublic void configureMessageBroker(MessageBrokerRegistry registry) {registry.enableSimpleBroker("/topic");registry.setApplicationDestinationPrefixes("/app");}
}
  1. 创建消息处理器

创建一个控制器来处理发送到服务端的消息:

import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Controller;@Controller
public class ImageMessageController {@MessageMapping("/receive-image")@SendTo("/topic/image")public byte[] receiveImage(byte[] imageData) {// 处理接收到的图片数据return imageData; // 将图片数据转发到订阅了 /topic/image 的客户端}
}

步骤 2: 创建WebSocket客户端(Client1)

  1. 添加OkHttp依赖

pom.xml中添加OkHttp3依赖:

<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.9.0</version> <!-- 请使用最新版本 -->
</dependency>
  1. 创建WebSocket客户端

创建一个客户端来连接到WebSocket服务端并发送图片:

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.WebSocket;
import okhttp3.WebSocketListener;
import okio.ByteString;public class ImageWebSocketClient extends WebSocketListener {private final OkHttpClient client = new OkHttpClient();private WebSocket webSocket;public void connect(String url) {Request request = new Request.Builder().url(url).build();webSocket = client.newWebSocket(request, this);}public void sendImage(byte[] imageData) {if (webSocket != null) {webSocket.send(ByteString.of(imageData));}}@Overridepublic void onOpen(WebSocket webSocket, okhttp3.Response response) {super.onOpen(webSocket, response);// WebSocket连接成功建立}@Overridepublic void onMessage(WebSocket webSocket, ByteString bytes) {super.onMessage(webSocket, bytes);// 处理接收到的二进制消息}@Overridepublic void onClosed(WebSocket webSocket, int code, String reason) {super.onClosed(webSocket, code, reason);// 处理WebSocket关闭事件}@Overridepublic void onFailure(WebSocket webSocket, Throwable t, okhttp3.Response response) {super.onFailure(webSocket, t, response);// 处理WebSocket连接失败事件}public void close() {if (webSocket != null) {webSocket.close(1000, "End of session");}}
}

步骤 3: 创建另一个客户端(Client2)

创建另一个客户端来接收由Client1发送的图片:

public class ImageReceivingClient extends WebSocketListener {private final OkHttpClient client = new OkHttpClient();private WebSocket webSocket;public void connect(String url) {Request request = new Request.Builder().url(url).build();webSocket = client.newWebSocket(request, this);}@Overridepublic void onMessage(WebSocket webSocket, ByteString bytes) {super.onMessage(webSocket, bytes);// 处理接收到的图片数据byte[] imageData = bytes.toByteArray();// 可以在这里将图片数据保存到文件或进行其他处理}public void close() {if (webSocket != null) {webSocket.close(1000, "End of session");}}
}

步骤 4: 使用客户端

在你的服务中,使用上面创建的ImageWebSocketClientImageReceivingClient来发送和接收图片。

public class WebSocketService {public void sendImage(String url, byte[] imageData) {ImageWebSocketClient client = new ImageWebSocketClient();client.connect(url);client.sendImage(imageData);client.close();}public void receiveImage(String url) {ImageReceivingClient client = new ImageReceivingClient();client.connect(url);// 保持连接,直到需要断开}
}

注意事项

  • 确保WebSocket服务端和客户端使用相同的协议(ws://或wss://)。
  • 在生产环境中,确保使用wss://来加密WebSocket连接。
  • 处理WebSocket连接的异常和错误,确保应用的健壮性。
http://www.khdw.cn/news/6158.html

相关文章:

  • 做众筹的网站百度移动点击排名软件
  • 房山网站制作宁波seo推广
  • wordpress 主题制作 functions.php宁波seo推荐优化
  • wordpress建站后怎样发布佛山seo网站排名
  • 做网站需要公司授权嘛百度禁止seo推广
  • 东莞网站建设营销平台的百度推广seo怎么学
  • 专业做影楼招聘网站有哪些怎么从网上找国外客户
  • 做网站用的什么空间新东方英语线下培训学校
  • 深圳做网站公司哪家比较好seo网站优化做什么
  • 小学校园网站建设方案2022年新闻大事
  • 温州市网站建设微信推广方案
  • 做网站需要什么证明嘛百度咨询
  • 珠海网络公司网站建设论坛推广软件
  • 猪八戒做网站要多少钱微信信息流广告投放
  • 建站公司收费标准关键词歌词含义
  • 平面设计案例网站推荐seo规范培训
  • 专业团队介绍关键词如何优化排名
  • 做网站需要代码么seo代运营
  • 自已创建网站要怎么做sem竞价托管
  • 网站被host重定向是什么意思关键词林俊杰无损下载
  • wordpress的配置文件在什么位置济南seo网站排名关键词优化
  • html毕业论文sem 优化价格
  • 莱山做网站的公司百度sem运营
  • 网站做三级等保费用google网站
  • 南昌商城网站建设免费自动推广手机软件
  • 盐山县招聘网站建设在线搜索引擎
  • 资源搜索网站是怎么做的口碑营销的成功案例
  • 专门做电商的网站有哪些百度163黄页关键词挖掘
  • html网站地图怎么做海淀区seo搜索引擎优化企业
  • 如何做网站商铺百度信息流是什么