phpudp
A. php能发UDP包出去吗
可以,TCP套接字,UDP套接字,原始套接字都可以发,不过PHP处理的99%的应用是TCP套接字类型。
B. php socket udp 通信
与设备发送数据的程序编写人协调,在发送的数据前面添加一个标识设备ID的内容版,这样接收数权据后从数据判断设备号,而不是通过IP和PORT。
例如约定用两位数表示设备ID,那么设备01发送的数据是AAAAA修改为发送01AAAAA,收到数据后识别01为设备号,后面的AAAAA作为数据。
C. 如何用php 写udp socket的服务端和客户端
可以使用php的sockets扩展,自己写着比较麻烦。
这里推荐两个具有该功能的框架:Swoole,
Workerman
D. PHP发送数据到IP TCP/UDP
php是脚本语言,估计无法实现你这个愿望。
以前的高手是通过CGI来实现的,就是版因为CGI是应用程序,安全权性不好,所以后来才流行PHP这类脚本语言的(就好像以前电脑上都是administrator,现在都是用户自己的账户了一样)。
E. 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);
?>
查看手册中相关的函数就知道进一步应该怎么编程。
F. PHP中如何实现非阻塞UDP
你好
很高兴为您解答
select函数应该是针对你在参数表中列出的事件进行选择性处理的,比如,机器会自动监听,当发现有列表中的事件发生时,就会调用相应的操作,不过,调用什么操作也要事先定义。
G. php如何检测UDP协议的畅通性
下面是php使用udp协议的代码,想输出什么,自己修改就好了。
//服务器和接口
$server = 'udp://127.0.0.1:9999';
$socket = stream_socket_server($server, $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
die("$errstr ($errno)");
}else{
echo 'Connection to '.$server.'succeeded!';
}
H. 怎样使用php实现tcp/udp通讯
1.在socket_bind的时候ip地址不能真回环地址如127.0.0.1
2.server.php后台跑起来的时候nohup php server.php > /var/tmp/a.log 2>&1 &
一: 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); ?>
I. 下面哪个网络协议是php不支持的
这是什么问题啊
问的就有问题.php
是一种脚本
和
网络协议也没关系啊.只有应用程序才能说支持不支持什么网络协议.如果非要和网络协议拉上关系的话那只能说php脚本支持网络协议tcp/ip
希望可以帮助到你
望点赞哦
谢谢
如果还有问题,可以继续追问,感谢。