在项目中遇到对接Socket通信的接口,传输的信息没有开始符号,结束符号及中间分隔符,传送信息的每段长度都固定,第一次遇到这种接口,记录下来以供参考,基本逻辑就是这样,一般来说我们这都是客户端,那一方为服务端,我们只需要写一个发送消息的客户端即可,代码涉及机密已做处理。

try {Socket socket = new Socket("host", port);logger.info("连接已经建立"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));//一般来说接口多以字符串形式右补空格,总字符长度固定,使用format可以右补空格,"%1$-10s"的意思为不满10位则右补空格user = String.format("%1$-10s",user);SimpleDateFormat yymmdd = new SimpleDateFormat("yyyymmdd");Date date = new Date();String date = yymmdd.format(date);logger.info("本次查询时间为:" + times + "   账户名为:  " + user);//拼接要发送的字符串String sendmsg = XXX + date +userOutputStream outputStream = socket.getOutputStream();//发送消息outputStream.write(msg_send.getBytes());//接收服务器端的响应InputStream inputStream = socket.getInputStream();//把数据放到byte数组中,可以指定接收多少长度的数据byte[] headBytes = new byte[36];logger.info("开始读取数据");//传入刚才new的数组,第二个参数为从数组第几个索引开始读数据,第三个参数为读多少数据,一般读的是数组的长度inputStream.read(headBytes, 0, headBytes.length);logger.info("读取完成");/*public String(byte bytes[], int offset, int length)  String的构造方法,通过这个方法把存在byte数组中的数据转化成字符串第一个参数为存放数据的byte数组,第二个是从第几位开始读取,第三个为读取多少个*/ String xxx= new String(headBytes , 142, 10).trim();//刷新缓冲区outputStream.flush();outputStream.close();inputStream.close();//关闭连接!!!socket.close();return serviceCallIntfResponse;}catch (Exception e){socket.close();logger.info(e.getLocalizedMessage());}

有写的不好的地方请大家给出建议 (ಥ_ಥ)

Socket通信接口对接相关推荐

  1. TCP/IP Socket 服务器对接

    返回主目录:<云音箱服务器对接> 一.TCP/IP 服务器使用 socket 长连接方式建立通信.需提供以下参数                                       ...

  2. php 对接 新酷卡,新酷卡socket对接支持读取信息发送/接收短信及参数命令

    参数命令 SOCKET接口使用说明 功能说明:新酷卡可以作为服务端,实现SOCKET通讯,实现三大功能: 1> 支持端口信息和新短xin主动上报. 2> 客户端可以向新酷卡软件发送xx,提 ...

  3. python和java对接数据的简单实现

    一.python检测到的图片能够在平台进行展示 开发环境: 电脑一:python实现人体检测,并实时保存有异常动作的图片, 电脑二:Java实现平台开发 问题描述: 电脑一检测到异常图片时,将该异常图 ...

  4. Java socket推送车速到Led屏

    文章目录 业务场景及流程分析 代码实现 1.将文字生成一个图片 2.pictToBuff 将图片转成符合要求的RGB格式 3.发送图形信息数据,将图片分包发送 4.发送图形参数数据 5.封装统一的发送 ...

  5. Socket长连接和短连接

    1 概念 Socket:socket实际上是对TCP/IP进行的封装,我们可以使用socket套接字通过socket来传输.首先我们需要明白的一个概念就是通道,简单地说通道就是两个对端可以随时传输数据 ...

  6. linux下c语言聊天室程序,纯C语言Socket实现聊天室

    最近在学习嵌入式开发,练习C语言小项目,基本是参考别人的代码,做了些修改实现了聊天室,纯C语言编写. 想直接看源码的跳到最后. 一.练习内容 socket通信流程 管道的使用 epoll的使用 首先要 ...

  7. [Spring mvc 深度解析(二)] Tomcat分析

    第7章 Tomcat分析 ​ 前面已经给大家介绍了网站处理请求时所涉及的各种协议和实现方法,不过之前的实现只是为了让大家明白原理而设计的简单示例程序,本章分析一个实际环境中经常使用的具体的实现--To ...

  8. 【nodejs原理源码赏析(6)】深度剖析cluster模块源码与node.js多进程(下)

    目录 一. 引言 二.server.listen方法 三.cluster._getServer( )方法 四.跨进程通讯工具方法Utils 五.act:queryServer消息 六.轮询调度Roun ...

  9. tomcat顶层架构

    1 Tomcat的顶层结构 Tomcat的结构很复杂,但 Tomcat 是模块化的,找到了 Tomcat 最核心的模块,问题就游刃而解 Tomcat中最顶层的容器是Server,代表着整个服务器,to ...

最新文章

  1. mysql一些查询方法记录
  2. iOS进阶之架构设计MVVM的理解(3)
  3. JStorm与Storm源码分析(三)--Scheduler,调度器
  4. LeetCode 21 ——合并两个有序链表
  5. layui 隐藏工具栏打印按钮_PDF如何打印?为什么点打印没反应?
  6. 解决安装DEB包时报错
  7. 第一百三十一期:2019年容器使用报告:Docker 和 Kubernetes 王者地位不倒!
  8. duration java_Java Duration类| toMinutes()方法与示例
  9. html文件打开是搜索导航,GitHub - bituplink/OneHtmlNav: 单文件html的网络导航页面,简约并不简单...
  10. mysql一样的查询在我本地很快但是线上很慢_Mysql读写分离原理及主众同步延时如何解决...
  11. [OpenGL] glColor 和 glClearColor 区别
  12. 塞班系统微信连接不上服务器,充满情怀的塞班系统:手机QQ、微信将无法登陆使用...
  13. 华三AP(wa4320acn)wifi设置(命令行)
  14. 我转行程序员的那一年(八)
  15. [UER #1] DZY Loves Graph
  16. 在线还原base64编码的图片
  17. vue时间天气插件_基于vue.js 2.0的百度天气应用 – vue-weather
  18. ES5和ES6的类,静态方法,继承实现代码
  19. MD5 到底是不是加密?
  20. 计算机如何接两个屏幕,笔记本连接两个显示器的步骤_笔记本电脑怎么外接两个显示器做分屏-win7之家...

热门文章

  1. Sql语句中的DDL、DML、DCL的介绍
  2. 自用的一些平时记录. 时不时更新
  3. Linux入门到精通
  4. 层序遍历 和 基于栈实现的先\中\后序遍历
  5. 9.0 OTA升级logo不更新,输入法不更新
  6. arm 2022.10.22
  7. shell里的json超级工具 jq 高级用法介绍
  8. python输出字符串排列组合代码
  9. OLED12864模块全屏缓冲刷新
  10. Android 监听wifi总结