`
lizhuang
  • 浏览: 904671 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

socket二进制报文

 
阅读更多
里面有帧头 字符串UTF-8  中间用0隔开  又一个字符串
byte[10]  byte[0]、byte[1]是帧头 0xaa,0x55
byte[2]-byte[5]是字符串utf-8  byte[6]=0,byte[7]-byte[9]是另外的字符串
这的一个包,该怎发?

NSMutableData *data = [[NSMutableData alloc] init];
    
    // 包头
    unsigned char header[] = { 0xAA, 0x55 };
    [data appendBytes:header length:sizeof(header)];
    
    // UTF8字符串
    NSString *string = @"我是UTF8";
    
    [data appendData:[string dataUsingEncoding:NSUTF8StringEncoding]];
    
    // 分隔符0x00
    unsigned char separator = 0;
    [data appendBytes:&separator length:1];
    
    NSString *otherString = @"其他UTF8";
    
    [data appendData:[otherString dataUsingEncoding:NSUTF8StringEncoding]];


typedef struct{
  u_int32_t first;
  u_int32_t second;
}pkt;

pkt t_pkt = {0};
pkt.first = 0xaa;

NSData *data = [NSData dataWithBytes:&t_pkt length:sizeof(t_pkt)];
分享到:
评论

相关推荐

    java网络编程,UDP,发送16进制报文。

    Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,适用于在网络上传输非文本数据。在Java中,我们可以使用`java.util.Base64`类进行Base64编码和解码。假设我们已经从数据库获取了Base64编码的图片,将其...

    C# Socket通信 TCP通信 UDP通信通讯源码收发二进制和文本数据

    C# Socket通信的源码,支持TCP和UDP收发二进制数据,如图片,视频,音频数据,或者是文本数据。也支持UDP收发数据。简单友好的API,可以直接拿来用。基于.NET Framework2.0的,只要高于2.0版本的Framework都可以正常...

    netty服务器解析16进制数据

    每个16进制数字对应4位二进制数,因此16进制常用于表示二进制数据,尤其是在网络传输或内存中存储二进制数据时,因为它的可读性比纯二进制更好。 2. **Netty 中的数据处理** Netty 提供了 `ByteBuf` 类作为缓冲区...

    socket 报文.rar

    可以是字符串、结构体或者二进制数据。报文的长度可能会对程序设计产生影响,例如,TCP可以传输任意大小的数据,但UDP报文的大小限制在65535字节以内。 在实际的socket编程中,还需要考虑错误处理、并发连接处理、...

    Socket_8583.zip

    1. **8583报文**:8583标准源自美国银行家协会(ABA)的ISO8583标准,它定义了一种二进制消息结构,用于金融机构之间交换交易数据。报文由多个字段组成,每个字段都有特定的位数和含义,如交易类型、商户ID、交易...

    socket交易报文传输(包含文件传输和字段传输)

    在Socket通信中,数据通常会被转化为byte数组进行传输,因为网络传输的数据本质上都是二进制形式的。客户端和服务器在发送和接收数据时,需要进行byte数组和实际对象(如字符串、文件内容等)之间的转换。 总结一下...

    Carchive网络分段传输大型二进制文件.rar

    在IT行业中,网络编程是一项至关重要的技能,尤其是在处理大数据量的二进制文件时。"Carchive网络分段传输大型二进制文件.rar"这个压缩包文件,显然涉及到使用Carchive技术来解决在网络上传输大型文件的问题。让我们...

    Netty进制转换乱码问题

    在使用Netty进行TCP/IP通信时,我们可能会遇到数据进制转换导致的乱码问题。这个问题通常是由于数据编码不一致或者处理方式不当所引起的。在本文中,我们将深入探讨Netty中的进制转换和字符编码,并提供解决方案。 ...

    采用udp协议在windows下实现文件二进制传送

    在Windows环境下,使用UDP协议进行文件二进制传送,主要涉及到以下几个关键知识点: 1. **UDP协议特性**:UDP协议不建立连接,没有连接状态,每个数据报文独立发送,没有重传机制,因此适用于实时通信如音频、视频...

    8583Server.zip

    这些字段通过一个二进制报文来传输,其中每个字段都有特定的标识符,便于接收方解析。在实际应用中,8583报文的处理涉及到编码、解码以及错误检查等多个环节。 接下来,我们关注Spring如何整合Socket通信。在Spring...

    SocKetTool.rar

    2. 消息构建:创建和编辑报文,包括文本和二进制数据,可能支持十六进制编辑模式。 3. 发送与接收:实时发送模拟报文到服务器,并接收服务器的响应,展示在用户友好的界面中。 4. 日志记录:保存和查看通信历史,...

    通用报文协议

    负载则是实际要传输的数据,它可以是任何格式的信息,如文本、图像或二进制数据。 在实现通用报文协议时,开发人员需要考虑以下几个关键点: 1. **协议定义**:明确报文的结构,包括报头字段的定义和负载数据的...

    delphi 2010 socket发送结构体协议

    - 在发送结构体之前,我们需要将其转换为二进制格式,因为Socket只能传输字节流。我们可以自定义一个函数,如`RecordToBytes`,将结构体转换成Byte数组。 ```delphi function RecordToBytes(const AStruct: ...

    SocketTool工具(含教程及测试报文).zip

    二、SocketTool的使用方法 1. **启动SocketTool.exe**:解压后运行SocketTool.exe,可以看到主界面,分为发送和接收两个部分,分别对应Socket的写入和读取操作。 2. **配置连接参数**:在客户端模式下,输入目标...

    C语言lldp接收程序

    在实际编程中,我们可能会定义一个结构体来表示TLV,然后编写解析函数来处理接收到的二进制数据。 7. **错误处理** 任何网络程序都应具备良好的错误处理机制。在处理LLDP接收时,我们需要考虑网络中断、数据包解析...

    TestJAVA报文

    4. **Java报文解析与构建**:对于自定义格式的报文,Java程序员可能会使用`StringBuilder`或`StringBuffer`来构建报文字符串,或者使用`DataInputStream`和`DataOutputStream`进行二进制报文的读写。 5. **报文编码...

    计算机网络SOCKET抓包实验

    3. **数据包解析**:收到的数据是原始的二进制流,需要解析成网络层(如IP)或传输层(如TCP/UDP)的协议头,从中提取出源/目标IP、端口、协议类型等信息。这通常涉及对二进制数据进行位移、掩码等操作,以便获取所...

    bpdtool:二进制协议设计器工具

    bpdtool-二进制协议设计器工具 下载二进制可执行文件: 概述 如果要使用C ++编写自己的客户端/服务器TCP / IP网络程序,则可能希望以数据包的形式发送和接收C struct对象。 由于TCP / IP是流协议,因此您很快就会...

    c语言socket实现的http服务器

    - **二进制文件传输**:除了HTML,服务器还需要处理其他类型的二进制文件,如图片(JPEG、PNG等),这些文件需要以二进制模式发送。 - **MIME类型**:HTTP响应头部需要指定正确的MIME类型,告知浏览器如何处理收到...

    sockettool.exe

    3. **数据发送和接收**:支持发送自定义的文本或二进制数据,并接收响应,这对于测试网络协议的正确性和数据交换的完整性至关重要。 4. **报文格式分析**:可以分析和解码接收到的报文,帮助理解数据包的结构和内容...

Global site tag (gtag.js) - Google Analytics