php-socket和解析二进制流

本文介绍如何利用PHP中的pack()和unpack()函数处理二进制流,包括打包与解包的具体操作示例,并简述了socket通信中stream和curl函数族的应用。

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

socket
     - stream函数族
          - 没什么好说的,手册上有说明,可以直接使用
     - curl函数族
          - 更习惯用这个
          - 设置header头部
               curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHeaders);
二进制流
     - 打包:pack()函数
          - 手册上有说明
          - 示例
               $binStr = pack("N1n2C");
     - 解包:unpack()函数
          - 对应pack()
          - 解析网络字节流,要用big endian的
               - u32:用N
               - u16:用n
               - 字符串:用a*
          - 示例
                /* 将$binStr解析成三部分
                    $ret = array(
                              "u16"=>int,          //16bit的unsigned short
                              "str1"=>string,      //8bit的字符串
                              "str2"=>string,     //余下的所有内容,保存为字符串
                         );
               */
               $ret = unpack("n1u16/a8str1/a*str", $binStr);
     

转载于:https://my.oschina.net/kakablue/blog/114169

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值