php接收udp数据 php接收post请求接口书写

怎样使用php实现tcp/udp通讯

1.在socket_bind的时候ip地址不能真回环地址如127.0.0.1

兰西网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联公司成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

2.server.php后台跑起来的时候nohup php server.php /var/tmp/a.log 21

一: udp 方式

1) server.php

?php //error_reporting( E_ALL ); set_time_limit( 0 ); ob_implicit_flush(); $socket = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP ); if ( $socket === false ) { echo "socket_create() failed:reason:" . socket_strerror( socket_last_error() ) . "\n"; } $ok = socket_bind( $socket, '202.85.218.133', 11109 ); if ( $ok === false ) { echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) ); } while ( true ) { $from = ""; $port = 0; socket_recvfrom( $socket, $buf,1024, 0, $from, $port ); echo $buf; usleep( 1000 ); } ?

2) client.php

?php $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); $msg = 'hello'; $len = strlen($msg); socket_sendto($sock, $msg, $len, 0, '202.85.218.133', 11109); socket_close($sock); ?

二: TCP 方式

1)server.php

?php //error_reporting( E_ALL ); set_time_limit( 0 ); ob_implicit_flush(); $socket = socket_create( AF_INET, SOCK_STREAM, SOL_TCP ); socket_bind( $socket, '192.168.2.143', 11109 ); socket_listen($socket); $acpt=socket_accept($socket); echo "Acpt!\n"; while ( $acpt ) { $words=fgets(STDIN); socket_write($acpt,$words); $hear=socket_read($acpt,1024); echo $hear; if("bye\r\n"==$hear){ socket_shutdown($acpt); break; } usleep( 1000 ); } socket_close($socket) ?

2) client.php

?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $con=socket_connect($socket,'192.168.2.143',11109); if(!$con){socket_close($socket);exit;} echo "Link\n"; while($con){ $hear=socket_read($socket,1024); echo $hear; $words=fgets(STDIN); socket_write($socket,$words); if($words=="bye\r\n"){break;} } socket_shutdown($socket); socket_close($sock); ?

php socket udp 通信

与设备发送数据的程序编写人协调,在发送的数据前面添加一个标识设备ID的内容,这样接收数据后从数据判断设备号,而不是通过IP和PORT。

例如约定用两位数表示设备ID,那么设备01发送的数据是AAAAA修改为发送01AAAAA,收到数据后识别01为设备号,后面的AAAAA作为数据。

PHP服务端监听UDP通信方式

例子代码:

?php

$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

$msg = "Ping !";

$len = strlen($msg);

socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);

socket_close($sock);

?

查看手册中相关的函数就知道进一步应该怎么编程。


当前题目:php接收udp数据 php接收post请求接口书写
文章来源:http://bzwzjz.com/article/dogehsc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 H5网站制作 网站建设方案 企业网站设计 专业网站设计 手机网站设计 品牌网站建设 移动网站建设 四川成都网站制作 成都网站建设流程 成都网站制作 企业手机网站建设 成都网站制作公司 高端网站设计 重庆网站设计 网站设计制作报价 网站制作 成都模版网站建设 成都网站建设公司 网站制作 广安网站设计 成都营销网站制作