PHP通过Socket发送十六进制数据

发布时间:2017-11-24 浏览次数:3900 文章来源:个人博客

做一个udp通信的项目,用到了需要发送十六进制的报文,现在总结一下十六进制的发送办法。

方法一:代码中直接写

//直接通过\x01的形式设定$hex是十六进制的值
$hex = "\x01";
$hex1= "\x02";
send($hex.$hex1);

方法一使用的范围是有局限性的,可以用于给予固定的值,比如说,制定报文的第一个字符使用"\x01",那么可以使用方法一,但是,往往更多时候,是一个变量,这时候,可以使用方法二的方式发送十六进制的方式:


方法二:

//利用chr()
$a = "2c";//十六进制
//$a是十六进制的值,将其转换成十进制,然后转换成对应的ascii表的符号
$msg = chr(hexdec($a));
//发送消息
send($msg);

key-word
PHP发送十六进制 PHP发送udp 十六进制转换-php