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

做课件ppt网站推广网络推广

做课件ppt网站,推广网络推广,汇川区住房和城乡建设厅网站,做外贸需要具备什么条件为了更好地组织代码并提高可复用性,我们可以将WebSocket客户端封装成一个工具类。这样可以在多个地方方便地使用WebSocket客户端功能。以下是使用tio库实现的一个WebSocket客户端工具类。 1. 添加依赖 确保项目中添加了tio的依赖。如果使用的是Maven,可以…

为了更好地组织代码并提高可复用性,我们可以将WebSocket客户端封装成一个工具类。这样可以在多个地方方便地使用WebSocket客户端功能。以下是使用tio库实现的一个WebSocket客户端工具类。
1. 添加依赖
确保项目中添加了tio的依赖。如果使用的是Maven,可以在pom.xml文件中添加以下依赖:

<dependencies><!-- 其他依赖 --><dependency><groupId>com.github.xiaoymin</groupId><artifactId>tio-core</artifactId><version>2.1.10</version></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>tio-websocket</artifactId><version>2.1.10</version></dependency>
</dependencies>

2. 创建WebSocket客户端工具类
创建一个工具类TioWebSocketClientUtil,用于管理WebSocket客户端的连接和消息发送。

import org.tio.client.AioClient;
import org.tio.client.intf.ClientAioListener;
import org.tio.core.ChannelContext;
import org.tio.core.intf.Packet;
import org.tio.websocket.client.WsClientConfig;
import org.tio.websocket.client.intf.ClientWsAioListener;
import org.tio.websocket.common.WsPacket;import java.nio.charset.StandardCharsets;
import java.util.concurrent.CountDownLatch;public class TioWebSocketClientUtil {private static final String SERVER_URL = "ws://your-spring-boot-server-url/websocket-endpoint";private static final int PORT = 8080; // 服务器端口private static final CountDownLatch latch = new CountDownLatch(1);private static AioClient aioClient;public static void init() throws Exception {WsClientConfig config = new WsClientConfig();config.setHeartbeatTimeoutSeconds(60); // 心跳超时时间ClientWsAioListener aioListener = new ClientWsAioListener() {@Overridepublic void onAfterConnected(ChannelContext channelContext, boolean isConnected, boolean isReconnect, boolean isFromHeartbeat) throws Exception {super.onAfterConnected(channelContext, isConnected, isReconnect, isFromHeartbeat);System.out.println("WebSocket connection opened.");latch.countDown();}@Overridepublic void onAfterClosed(ChannelContext channelContext, Throwable throwable, String s, String s1) throws Exception {super.onAfterClosed(channelContext, throwable, s, s1);System.out.println("WebSocket connection closed.");}@Overridepublic void onAfterSent(ChannelContext channelContext, Packet packet, boolean isSentSuccess) throws Exception {super.onAfterSent(channelContext, packet, isSentSuccess);System.out.println("Message sent: " + packet);}@Overridepublic void onAfterReceivedBytes(ChannelContext channelContext, byte[] bytes, int len) throws Exception {super.onAfterReceivedBytes(channelContext, bytes, len);System.out.println("Received bytes: " + new String(bytes, StandardCharsets.UTF_8));}@Overridepublic void onAfterReceivedPacket(ChannelContext channelContext, Packet packet) throws Exception {super.onAfterReceivedPacket(channelContext, packet);if (packet instanceof WsPacket) {WsPacket wsPacket = (WsPacket) packet;System.out.println("Received message: " + wsPacket.getString());}}};aioClient = new AioClient(config, aioListener);aioClient.start();}public static void connect() throws Exception {aioClient.connect(SERVER_URL, "client", PORT, null, null, 5000);latch.await(); // 等待连接成功}public static void sendMessage(String message) throws Exception {WsPacket wsPacket = new WsPacket();wsPacket.setString(message);aioClient.send(wsPacket);}public static void close() throws Exception {aioClient.stop();}public static void main(String[] args) throws Exception {init();connect();// 发送消息sendMessage("Hello, server!");// 等待一段时间后关闭连接Thread.sleep(10000);close();}
}

3. 解释
TioWebSocketClientUtil 类:封装了WebSocket客户端的基本功能。
init 方法:初始化WebSocket客户端配置并启动客户端。
connect 方法:连接到WebSocket服务器。
sendMessage 方法:发送消息给服务器。
close 方法:关闭客户端连接。
main 方法:演示如何使用这个工具类。
4. 使用工具类
在其他类中可以通过调用TioWebSocketClientUtil的方法来使用WebSocket客户端功能:

public class MainApp {public static void main(String[] args) {try {TioWebSocketClientUtil.init();TioWebSocketClientUtil.connect();// 发送消息TioWebSocketClientUtil.sendMessage("Hello, server!");// 等待一段时间后关闭连接Thread.sleep(10000);TioWebSocketClientUtil.close();} catch (Exception e) {e.printStackTrace();}}
}

通过这种方式,可以将WebSocket客户端功能封装成一个工具类,方便在多个地方使用。这样不仅提高了代码的可复用性,也使得客户端的管理和维护更加方便。

http://www.hrbkazy.com/news/32590.html

相关文章:

  • 做解析视频网站违法莫营销技巧和营销方法
  • 商丘企业网站建设服务关键词优化公司哪家好
  • 怎么做网页版手机版网站苏州seo关键词优化方法
  • 网页设计基础的教学目的seo网站收录工具
  • 山西太原发现4例阳性seo业务培训
  • 公司网站建设需求说明书百度广告联系方式
  • 什么平台做网站大数据技术主要学什么
  • 网站维护收费培训学校怎么招生
  • 有个专门做任务赚钱的网站住房和城乡建设部
  • 怎么做晒鱼的网站网站模板大全
  • 微信小程序 网站开发网络推广的公司更可靠
  • 河北省城乡与住房建设厅网站百度百度一下你就知道主页
  • 是普通网站地图好还是rss地图好一点百度关键词排名销售
  • 大型视频网站建设方案seo关键词优化指南
  • 法院门户网站建设方案免费的网络推广渠道
  • 化妆品网站设计系统需求的策划书站内营销推广途径
  • wordpress功能菜单怎么设置重庆网站seo费用
  • 做茶叶网站的目的和规划网店推广运营
  • 深圳网站搜索引擎优化seo属于什么职业部门
  • 做调查的网站站长之家网站
  • 企业网站怎么建设爱站网备案查询
  • 日本人爱做月光影院网站百度如何投放广告
  • 汕头建站模板系统百度客服24小时电话人工服务
  • 中小企业网查询旺道seo系统
  • wordpress支付宝移动端seo网站快速排名软件
  • wordpress搭建问答系统seo赚钱暴利
  • 四川省城乡建设部网站首页制作网页链接
  • 怎样做才能提升自己的网站郑州seo技术服务
  • 手机网站制作推广地推
  • 工业贸易企业 营销型网站关键词优化seo多少钱一年