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
整合了前面的PHP数据库连接类~~做成一个分页类!
Nov 25 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
6个超实用的PHP代码片段
Aug 10 PHP
深入理解PHP内核(一)
Nov 10 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
PHP sdk实现在线打包代码示例
Dec 09 PHP
php array_map()函数实例用法
Mar 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实现WEB动态网页静态
2006/10/09 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
laravel学习教程之存取器
2016/07/30 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
理解Javascript_05_原型继承原理
2010/10/13 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
从零学python系列之从文件读取和保存数据
2014/05/23 Python
Python import用法以及与from...import的区别
2015/05/28 Python
Python随机读取文件实现实例
2017/05/25 Python
python脚本替换指定行实现步骤
2017/07/11 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
python读写配置文件操作示例
2019/07/03 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
Python3开发环境搭建详细教程
2020/06/18 Python
Python如何实现机器人聊天
2020/09/10 Python
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
助人为乐好少年事迹材料
2014/08/18 职场文书