php socket超时设置的方法:首先打开相应的脚本文件;然后创建一个sendudp方法;接着通过“socket_create”等方法对超时情况进行设置;最后保存该文件即可。
推荐:《php教程》
php socket 超时设置
1、php创建socket的方法和设置超时的方法,贴出来分享一下
//如果$waitacksec=0,则返回成功发送的字节 //如果$waitacksec大于0,则返回发送后接收到得内容 //任何情况下,失败都返回false function sendudp($host, $port, $buff,$waitacksec=0) { $socket = ($result = @socket_create(af_inet,sock_dgram,sol_udp)); //发送超时1秒 socket_set_option($socket,sol_socket,so_rcvtimeo,array("sec"=>3, "usec"=>0 ) ); //接收超时6秒 socket_set_option($socket,sol_socket,so_sndtimeo,array("sec"=>6, "usec"=>0 ) ); if($socket){ $result = @socket_sendto($socket,$buff,strlen($buff),0,$host,$port); if($waitacksec>0){ $result = false; $read = array($socket); $write = null; $except = null; if(@socket_select($read,$write,$except,$waitacksec)>0){ $fromhost = ""; $fromport = 0; @socket_recvfrom($socket,$result,4096,0,$fromhost,$fromport); $result = phpext_unpack($result); if($result["needack"] == 1){ $this->sendudp($host, $port, $result["ackdata"]); if(isset ($result['data']['list']) && isset ($result['data']['totalcount'])){ $list = $result['data']['list']; $count = $result['data']['totalcount']; while($count> count($list)){ @socket_recvfrom($socket,$result_temp,4096,0,$fromhost,$fromport); $result_temp = phpext_unpack($result_temp); $this->sendudp($host, $port, $result_temp["ackdata"]); $list = array_merge($list,$result_temp['data']['list']); } $result['data']['list'] = $list; } }else{ @socket_recvfrom($socket,$result,4096,0,$fromhost,$fromport); $result = phpext_unpack($result); if($result["needack"] == 1){ $this->sendudp($host, $port, $result["ackdata"]); if(isset ($result['data']['result']) && isset ($result['data']['userid'])){ $list = $result['data']['list']; $count = $result['data']['totalcount']; while($count> count($list)){ @socket_recvfrom($socket,$result_temp,4096,0,$fromhost,$fromport); $result_temp = phpext_unpack($result_temp); $this->sendudp($host, $port, $result_temp["ackdata"]); $list = array_merge($list,$result_temp['data']['list']); } $result['data']['list'] = $list; } } } }else{ $result = send_udp_error; } } @socket_close($socket); } return $result; }
我司本案号下有两个网站和ssl证书如何安装,都有哪些申请步骤?网站注册信息怎么查?域名申请要注意哪些问题?云服务器ecs的购买步骤华为云服务器ecs是虚拟机吗买域名的网站哪个好 买域名要注意哪些问题阿里云服务器会自动续费吗这3种无服务器缺点:云提供商绝对不会提及