java socket报文通信-报文的封装

本文介绍了Java中如何进行Socket报文通信,报文结构包括同步校验位、报文长度、报文头、报文体和MD5校验位。通过SocketPacket类封装报文,实现字节与字符串的转换,并提供了发送和接收报文的工具类SockedUtil。详细讲解了报文的创建、发送和接收过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是报文这里我就不在阐述了,不清楚的朋友可以自己去查资料。我们今天要谈的报文主要友以下几个部分组成:
 
3位同步校验位+8位报文长度+报文头+报文体+32位 MD5校验位
 
基本格式如下:
 
0X110X120X1300000232<?xml version="1.0" encoding="GBK"?><ROOT><Code>0204</Code><Date>20141223</Date><No>141223010008152</No><Code>17010001</Code><Name>张三</Name></ROOT>B251AB76B11114DB176023A0AA27A524
 
说明:
 
  前面的0X110X120X13是3位16进制的同部位,这里为了大家理解,所以就以字符的形式谢出来了。00000232是报文长度。<?xml version="1.0" encoding="GBK"?><ROOT><Code>0204</Code><Date>20141223</Date><No>141223010008152</No><Code>17010001</Code></ROOT>是报文头。即每个报文都包含的信息。<Name>张三</Name>是报文体。B251AB76B11114DB176023A0AA27A524是 加密数据。
 
关于如何将对象转换为xml格式的报文我将在下一篇写,这里主要是给大家如何将如上的这些字符串转化为字节以及如何发送和接收报文。
 
1.建立报文的对象
 
 
public class SocketPacket {
 
    private String bodyLen;
    private String body;
    private String syncStr;
    private String md5;
    public String getBodyLen() {
        return bodyLen;
    }
    public String getBody() {
        return body;
    }
    public String getSyncStr() {
   
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值