PHP 通过Socket收发十六进制数据的实现代码
最近在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 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码 代码如下: <?php /** *十进制转二进制.八进制.十六进制 不足位数前面补零* * * @param array $datalist 传入数据array(100,123,130) * @param int $bin 转换的进制可以是:2,8,16 * @return array 返回数据 array() 返回没有数据转换的格式 * @copyrig
-
PHP根据传来的16进制颜色代码自动改变背景颜色
复制代码 代码如下: <?php echo "<html>"; echo "<head><title>改变背景颜色</title></head>"; if($_POST[inputColor]==""){ $inputColor="ffffff"; } echo "<body bgcolor=#{$_POST[inputColor]}>&q
-
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin() 函数,如下实例 echo decbin(12); //输出 1100 echo decbin(26); //输出 11010 decbin (PHP 3, PHP 4, PHP 5) decbin -- 十进制转换为二进制 说明 string decbin ( int number ) 返回一字符串,包含有给定 number 参数的二进制表示.所能转换的最大数值为十进制的 4294967295,其结果为
-
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
复制代码 代码如下: <?php function hex2rgb($colour) { if ($colour [0] == '#') { $colour = substr ( $colour, 1 ); } if (strlen ( $colour ) == 6) { list ( $r, $g, $b ) = array ($colour [0] . $colour [1], $colour [2] . $c
-
php将字符串转换成16进制的方法
本文实例讲述了php将字符串转换成16进制的方法.分享给大家供大家参考.具体分析如下: php中可以通过bin2hex函数将字符串转换成16进制的形式输出,bin2hex()函数返回结果为ascii码 <?php $string = "Hello\tworld!\n"; print($string."\n"); print(bin2hex($string)."\n"); ?> 输出结果如下: Hello world! 48656c6c
-
php实现文件与16进制相互转换的方法示例
前言 本文给大家介绍的是如何使用PHP实现文件与16进制相互转换,例如可以把文件转为16进制后保存到数据库中,也可以把16进制数据转为文件保存. 代码如下: <?php /** * php 文件与16进制相互转换 * Date: 2017-01-14 * Author: fdipzone * Ver: 1.0 * * Func * fileToHex 文件转16进制 * hexToFile 16进制转为文件 */ /** * 将文件内容转为16进制输出 * @param String $file
-
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
数据库脚本: -- -------------------------------------------------------- -- -- 表的结构 `highot_attachment` -- 复制代码 代码如下: CREATE TABLE IF NOT EXISTS `highot_attachment` ( `id` int(11) NOT NULL auto_increment, `phone_number_id` int(11) NOT NULL COMMENT 'phone_n
-
PHP 通过Socket收发十六进制数据的实现代码
最近在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, S
-
Python简单实现TCP包发送十六进制数据的方法
本文实例讲述了Python简单实现TCP包发送十六进制数据的方法.分享给大家供大家参考,具体如下: 举例: 0x12, 0x34可以直接拼成 "\x12\x34". 客户端代码示例: #-*- encoding: utf-8 -*- import json import socket import sys import binascii reload(sys) sys.setdefaultencoding('utf-8') if __name__=="__main__&quo
-
C# 通过Socket读取大量数据的示例
在C#中经常会用到Socket去接收和发送数据,而且也是非常方便的,有时候我们会向服务端去请求数据,如果返回的数据量很大,比如超过10M甚至是更多,那么该怎样去接收数据呢?下面以一个在项目中用到的实例去分析和解释这个问题,先看看下面的这段代码? /// <summary> /// 返回摄像头信息 /// </summary> private void RcvCameraInfos(object obj) {
-
C# Socket的TCP通讯的实例代码
Socket的TCP通讯 一. socket的通讯原理 服务器端的步骤如下. (1)建立服务器端的Socket,开始侦听整个网络中的连接请求. (2)当检测到来自客户端的连接请求时,向客户端发送收到连接请求的信息,并建立与客户端之间的连接. (3)当完成通信后,服务器关闭与客户端的Socket连接. 客户端的步骤如下. (1)建立客户端的Socket,确定要连接的服务器的主机名和端口. (2)发送连接请求到服务器,并等待服务器的回馈信息. (3)连接成功后,与服务器进行数据的交互. (4)数据处
-
Java 客户端向服务端上传mp3文件数据的实例代码
客户端: package cn.itcast.uploadpicture.demo; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.net.Socket; import java.net.UnknownHostExce
-
jQuery ajax json 数据的遍历代码
先给大家说下我的需求:进行ajax请求后,后台传递回来以下json数据. 具体实现代码如下所示: JavaScript代码 { "data":[ {"id":"1","name":"选择A","value":"A"}, {"id":"2","name":"选择B","value&
-
vue 运用mock数据的示例代码
本文介绍了vue 运用mock数据的示例代码,分享给大家,具体如下: 初始化你的项目 话不用啰嗦,首先初始化你的项目,最简单的就是使用vue-cli啦 vue init webpack 引入mock.js 安装 mockjs npm install --save-dev mockjs 引入到Vue原型上,方便使用 import mockjs from 'mockjs' Vue.prototype.$mock = Vue.$mock = mockjs.mock 以上引入到Vue原型上,可以使用 t
-
BootStrap数据表格实例代码
首先初始化页面 $(function(){ $('#archives-table').bootstrapTable({ url: "/coinSend/list",//数据源 dataField: "rows",//服务端返回数据键值 就是说记录放的键值是rows,分页时使用总记录数的键值为total search: true,//是否搜索 cache: false, striped: true, pagination: true,//是否分页 sortable:
-
基于jsTree的无限级树JSON数据的转换代码
jstree 主页 : http://www.jstree.com/ 其中提供了一种从后台取数据渲染成树的形式: 复制代码 代码如下: $("#mytree").tree({ data : { type : "json", url : "${ctx}/user/power!list.do" } }); 对于url中返回的值必须是它定义的json数据形式: 复制代码 代码如下: $("#demo2").tree({ data :
-
PHP JSON格式数据交互实例代码详解
在PHP中解析JSON主要用到json_encode和json_decode两个PHP JSON函数,比PHP解析XML方便很多,下面详细介绍下PHP JSON的使用.JSON基础介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON主要有两种结构: "名称/值"对的集合,在PHP中可以理解为关联数组 (associative array). 值的有序列表(An ordered list of values).在PHP中可以理解为
随机推荐
- Underscore.js 1.3.3 中文注释翻译说明
- Spring MVC环境中文件上传功能的实现方法详解
- oracle 会话 死锁 执行sql 执行job的方法
- python快速查找算法应用实例
- 桌面中心(二)数据库写入
- Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作
- 讲解C语言编程中指针赋值的入门实例
- Android实现自定义的卫星式菜单(弧形菜单)详解
- python中enumerate函数用法实例分析
- java List循环与Map循环的总结
- 服务器维护小常识(硬盘内容增加、数据库优化等)
- 一样的table?不一样的table(可编辑状态table)
- jQuery动态产生select option下拉列表
- TypeError document.getElementById(...) is null错误原因
- JavaScript中transform实现数字翻页效果
- 验证坐标在某坐标区域内php代码
- JavaScript无操作后屏保功能的实现方法
- javascript trie前缀树的示例
- 详解微信小程序的 request 封装示例
- vue权限问题的完美解决方案