PHP实现连接设备、通讯和发送命令的方法_第1页
PHP实现连接设备、通讯和发送命令的方法_第2页
PHP实现连接设备、通讯和发送命令的方法_第3页
PHP实现连接设备、通讯和发送命令的方法_第4页
PHP实现连接设备、通讯和发送命令的方法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文实例讲述了PHP实现连接设备、通讯和发送命令的方法。分享给大家供大家参考。具体如下:开发的BS架构的软件(PHP),需要跟设备进行通讯,在此记录一下,欢迎各位指正:1. 采用php socket技术使用TCP/IP连接设备参数$service_port 连接端口参数$address 发送IP地址参数$in 发送命令?123456789101112131415161718192021222324252627282930function Send_socket_connect($service_port, $address, $in) /创建 TCP/IP socket$socket = so

2、cket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("could not create socket!");/设置超时时间$timeout = 2;$time = time();/设置非阻塞模式socket_set_nonblock($socket);/超时判断while (!socket_connect($socket, $address, $service_port) $err = socket_last_error($socket);/ 连接成功,跳出循环if ($err = 10056) break;/连接失败,判断超

3、时时间,停止if (time() - $time) >= $timeout) socket_close($socket);print('网络异常,请检查网络连接!');exit();/ 刷新频率(250毫秒)usleep(250000);/设置阻塞模式socket_set_block($socket);/发送命令到设备socket_write($socket, $in, strlen($in);/关闭连接socket_close($socket);Send_socker_xdcoder $buffer为返回值?1234567891011121314151617181920

4、212223242526272829303132333435function Send_socket_xdcoder($service_port, $address, $in) /创建 TCP/IP socket$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("could not create socket!");/设置超时时间$timeout = 2;$time = time();/设置非阻塞模式socket_set_nonblock($socket);/超时判断while (!socket_co

5、nnect($socket, $address, $service_port) $err = socket_last_error($socket);/ 连接成功if ($err = 10056) break;/连接失败,判断超时时间,停止if (time() - $time) >= $timeout) socket_close($socket);echo "<script>alert('网络异常,请检查网络连接!');</script>"exit();/ 刷新频率(250毫秒)usleep(250000);/设置阻塞模式sock

6、et_set_block($socket);/发送命令到设备socket_write($socket, $in, strlen($in);/接收设备命令返回数据$buffer = socket_read($socket, 1024, PHP_NORMAL_READ);/关闭连接socket_close($socket);/输出返回值return $buffer;2. 采用php socket技术使用UDP协议连接设备,实现通讯和发送命令参数$service_port 连接端口参数$address 发送IP地址参数$in 发送命令?123456789101112function Send_soc

7、ket_connect_udp($service_port, $address, $in) /采用php socket技术使用UDP协议连接设备$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 2, "usec" => 0);/发送命令socket_sendto($socket, $in, strlen($in), 0, $address, $servi

8、ce_port);socket_recvfrom($socket, $buffer, 1024, MSG_WAITALL, $address, $service_port);/关闭连接if (empty($buffer) echo "<script>alert('网络异常,请检查网络连接!');</script>"Send_socket_xdcoder_udp $buffer 为返回值?123456789101112131415function Send_socket_xdcoder_udp($service_port, $addre

9、ss, $in) /采用php socket技术使用UDP协议连接设备$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 2, "usec" => 0);/发送命令socket_sendto($socket, $in, strlen($in), 0, $address, $service_port);socket_recvfrom($socket, $bu

10、ffer, 1024, MSG_WAITALL, $address, $service_port);/关闭连接socket_close($socket);if (!empty($buffer) return $buffer; else echo "<script>alert('网络异常,请检查网络连接!');</script>"3. 采用RS232串口技术连接设备,实现通讯和发送命令参数$com 串口号参数$baudratr 波特率参数$in 发送命令?1234567891011121314151617function rs232_c

11、onnect($com, $baudrate, $in) set_time_limit(10);/使用 'windows下设置窜口参数'exec("mode " . $com . " BAUD=" . $baudrate . " PARITY=n DATA=8 STOP=1 odsr=off");/ "打开端口串口$com"$f = fopen($com, 'w+');/判断串口是否正常打开if (!$f) /echo "<script>alert('Error when open $com!');</script>"die("Error when open $com");/向串口发送数据;fwrite($f, $in);/关闭端口 fclose($f);/串口操作结束还有一个关于命令16进制转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论