PHP 通过Socket收发十六进制数据的实现代码


Posted in PHP onAugust 16, 2013

最近在php下做关于Socket通讯的相关内容,发现网络上好多人在了解如何进行16进制收发,研究了下,代码如下,欢迎拍砖。

<?php
        $sendStr = '30 32 30 34 03 30 33';  // 16进制数据
        $sendStrArray = str_split(str_replace(' ', '', $sendStr), 2);  // 将16进制数据转换成两个一组的数组
        $socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname("tcp"));  // 创建Socket
        if (socket_connect($socket, "192.168.1.100", 8080)) {  //连接
            for ($j = 0; $j < count($sendStrArray); $j++) {
                socket_write($socket, chr(hexdec($sendStrArray[$j])));  // 逐组数据发送
            }
            $receiveStr = "";
            $receiveStr = socket_read($socket, 1024, PHP_BINARY_READ);  // 采用2进制方式接收数据
            $receiveStrHex = bin2hex($receiveStr);  // 将2进制数据转换成16进制
            echo "client:" . $receiveStrHex;
        }
        socket_close($socket);  // 关闭Socket
        ?>
PHP 相关文章推荐
一个简单的自动发送邮件系统(二)
Oct 09 PHP
phpinfo 系统查看参数函数代码
Jun 05 PHP
五款常用mysql slow log分析工具的比较分析
May 22 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
三种php连接access数据库方法
Nov 11 PHP
php中chdir()函数用法实例
Nov 13 PHP
PHP与Java对比学习日期时间函数
Jul 03 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
php数据结构之顺序链表与链式线性表示例
Jan 22 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 #PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 #PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
Aug 16 #PHP
php漏洞之跨网站请求伪造与防止伪造方法
Aug 15 #PHP
PHP Global定义全局变量使用说明
Aug 15 #PHP
php生成图形验证码几种方法小结
Aug 15 #PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 #PHP
You might like
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
Prototype框架详解
2015/11/25 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
HTML的select控件美化
2017/03/27 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
跟老齐学Python之总结参数的传递
2014/10/10 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
详解Python sys.argv使用方法
2019/05/10 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
应届生个人求职信模板
2013/11/26 职场文书
党员目标管理责任书
2014/07/25 职场文书
综治工作心得体会
2014/09/11 职场文书
2014年班组工作总结
2014/11/20 职场文书
2014年招生工作总结
2014/11/26 职场文书
同意报考证明
2015/06/17 职场文书
公司车辆管理制度
2015/08/04 职场文书
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS