您的位置:首页 > 未分类 >

php socket通讯

最近要模拟网络转串口的工具,决定用socket方式进行通讯。
PHP代码

< ?php
//服务端监听
set_time_limit(0);
 
$sock2 = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);//注意 UDP方式参数是 SOCK_DGRAM SOL_UDP,而TCP则是 SOCK_STEAM SOL_TCP,别搞错了,我就是被这个参数差点搞死。
if(!socket_bind($sock2, '10.7.1.37', 30041))//绑定端口
{
    socket_close($sock2);
    die( 'socket_bind failed: '.socket_strerror(socket_last_error()));
}
 
socket_set_nonblock($sock2); //设置非阻塞模式,关于阻塞和非阻塞模式网上有资料。
 
$timeout = time() + (30); // 监听30秒
while (time() &lt; = $timeout)
{
    while (@socket_recv($sock2, $data, 10*10*1024, 0))
   {
 
       flush();//不用浏览器缓存
     $data = preg_replace("/\n/","",$data);
       echo $data;
   }
   usleep(100000); //delay100MS
}
socket_close($sock2);
 
 
//客户端发送
set_time_limit(0);
$fp = fsockopen("udp://10.7.77.177", 30041, $errno, $errstr);
if (!$fp)
{
	echo "ERROR: $errno - $errstr<br />\n";
}
else
{
	fwrite($fp,"help\n");//发送一个HELP命令
	fclose($fp);
}
?>
本文地址:php socket通讯    文章出处:电影大世界

转载请以链接形式注明原始出处和作者,谢绝不尊重版权者抄袭!

暂无留言我要留言