#java 实现SocketIo客户端

这里主要是使用java实现SocketIo的客户端,接收长链接推送的消息,直接上代码

引入maven

     <dependency><groupId>io.socket</groupId><artifactId>socket.io-client</artifactId><version>2.0.1</version></dependency>
import io.socket.client.IO;
import io.socket.client.Socket;
import lombok.extern.slf4j.Slf4j;import java.net.URI;
import java.net.URLEncoder;
import java.util.Arrays;@Slf4j
public class SocketIoTest {public static void main(String[] args) throws Exception {SocketIoTest client = new SocketIoTest();final Socket socket = client.initSocket("https://ip:8888/user", "验证账号", "验证密码");Socket connect = socket.connect();socket.on("监听事件", objects -> {String s = Arrays.toString(objects);String substring = s.substring(1, s.length() - 1);System.out.println("长链接事件响应数据=========" + substring);});socket.on("另外一个event", objects -> {String s = Arrays.toString(objects);String substring = s.substring(1, s.length() - 1);System.out.println("另外一个event响应数据=========" + substring);});boolean connected = socket.connected();System.out.println(connected);}public Socket initSocket(String socketUrl, String accessKeyId, String accessKeySecret ) throws Exception {IO.Options options = new IO.Options();options.transports = new String[]{"websocket"};options.reconnection = false;System.out.println(accessKeySecret);String replace = URLEncoder.encode(accessKeySecret, "UTF-8");options.query = "id=" + accessKeyId + "&pwd=" + replace;URI uri = URI.create(socketUrl);final Socket socket = IO.socket(uri, options);socket.on(Socket.EVENT_CONNECT, objects -> System.out.println("client: " + "连接成功"));socket.on(Socket.EVENT_DISCONNECT, objects -> System.out.println("client: " + "连接断开"));socket.on(Socket.EVENT_CONNECT_ERROR, objects -> System.out.println("client: " + "连接失败"));socket.on("connection notice", objects -> {String s = Arrays.toString(objects);String substring = s.substring(1, s.length() - 1);System.out.println("链接通知=========" + substring);});boolean connected = socket.connected();return socket;}}

该代码根据实际服务端要求,还可以添加其他参数,根据实际情况而定,例如超时时间、是否重连等等。

java 实现SocketIo客户端相关推荐

  1. CXF wsdl2java 生成java代码供客户端使用

    CXF wsdl2java 生成java代码供客户端使用 环境配置: 1.下载apache-cxf-2.6.2在环境变量中配置CXF_HOME 值为E:\gavin\cxf\apache-cxf-3. ...

  2. java php 单点登陆,cas实现单点登录,登出(java跟php客户端)(转)

    cas实现单点登录,登出(java跟php客户端)(转)cas实现单点登录,登出(java和php客户端) (转) 最近项目中需要做单点登录,客户端包含java和php,java有几个应用程序,php ...

  3. 基于netty访问WebSocket(java的websocket客户端)(访问远程ws协议)

    1. 首先创建mvn项目 2. pom中导入jar包 <dependency><groupId>io.netty</groupId><artifactId&g ...

  4. java写soap客户端_Java:简单的SOAP客户端

    我正在寻找一个用于 Java的SOAP客户端. Apache Axis对我来说看起来很blo肿.我不明白为什么Java必须如此复杂.例如,在PHP中,我所要做的就是: $global_service_ ...

  5. java chat_使用 Java 创建聊天客户端-1

    1.聊天客户端文本框的搭建. 项目截图:java project 代码: (1).ChatManager.java package com.nantian.javachatclient.main; i ...

  6. Java正确获取客户端真实IP方法整理

    转载自 干货:Java正确获取客户端真实IP方法整理 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apach ...

  7. smpp客户端_SMPP Java示例(客户端)

    smpp客户端 这篇文章通过创建一个简单的SMPP客户端向移动用户发送短信来提供SMPP Java示例,使用该客户端我们可以简单地提交以将消息发送给单个移动用户,也可以一次将消息广播给多个移动用户.另 ...

  8. SMPP Java示例(客户端)

    这篇文章通过创建一个简单的SMPP客户端向移动用户发送短信来提供SMPP Java示例,使用该客户端我们可以简单地提交以向单个移动用户发送消息,也可以一次将消息广播给多个移动用户.另外,我们将验证交货 ...

  9. java服务器向客户端发消息_java一个简单的客户端向服务端发送消息

    java一个简单的客户端向服务端发送消息 客户端代码: package com.chenghu.tcpip; import java.io.IOException; import java.io.Ou ...

最新文章

  1. c#程序设定使用期限_C# 给某个方法设定执行超时时间
  2. 2011-02 Emacs相关闪存
  3. 从卖冰箱到卖年夜饭,看海尔智家生态品牌新成果
  4. sys_connect_by_path
  5. tp3.2 复合查询
  6. mysql utf8 bin设置_[mysql]修改collation为utf8_bin
  7. python 循环赋值_Python打牢基础,从19个语法开始!
  8. C#开源资源大汇总(2)
  9. linux docker run怎么退出,详解如何进入、退出docker容器的方法
  10. 基于stm32 ESP8266WiFi模块的基本通信
  11. echarts饼图legend标识位置
  12. Field类及相关类解读
  13. 什么是电感_共模电感和差模电感的区别
  14. excel文件怎么转成vcf_批量excel转vcf格式的方法
  15. 推荐几款极简的手机浏览器
  16. 场景编程集锦 - BMI指数与健身达人
  17. 二进制优化(数独问题+有向图问题)
  18. Microsoft Visual Studio 2010 Service Pack 1 离线下载版
  19. 继承者的难题:李在镕能否接班三星?
  20. Java调用MaxMind GeoIP库查询IP地理信息

热门文章

  1. 国内ChatGPT的镜像网站分享
  2. Android中BroadCaseReceiver的基本用法(一)之监听系统广播
  3. BLUESIGN认证辅导,bluesign system管理输入,采取哪些负责任的行动
  4. small用于不连续数组_太神奇了,large和small这两个最值函数居然可以这样使用!...
  5. Python——用for_while遍历列表
  6. 利用c#+jquery+ichartjs生成统计图表
  7. 图解央行房贷新政 首付才是刚需族最大门槛
  8. 老马失足 波音KC-46加油机为何如此拖拉?
  9. excel如何批量完成员工身份证实名认证?
  10. Map练习已知某学校的教学课程内容安排如下:老师 课程张三 Android李四 Linux王五