300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 求大神帮忙看看 php socket的问题

求大神帮忙看看 php socket的问题

时间:2020-02-01 04:04:28

相关推荐

求大神帮忙看看 php socket的问题

后端开发|php教程

求大神帮忙看看,php socket的问题

后端开发-php教程

在线名片印刷源码,ubuntu安装egg,tomcat线程池执行流程,爬虫集群管理,wifi php,东阿县seo优化关键词lzw

$appenStr = $buf = \;$time = time();for($i=0;$i 5){break;}if($buf){$appenStr .= $buf;}else{break;}}echo $appenStr;

网上看了很多资料,是socket_read这个函数阻塞了,导致的客户端程序一直假死状态,一直等待上面代码的结果 返回。

但是我这样就能取出来数据了。

易语言键代码源码,vscode里怎么搜索代码,Ubuntu手绘板,如何卸载同tomcat,方缸爬虫,php 动态生成图片,贵州系统seo优化外包,织梦技术的网站首页如何更改,web后台管理模板lzw

$buf = socket_read($msgsock, 8192);$buf .= socket_read($msgsock, 8192);$buf .= socket_read($msgsock, 8192);

可是总不能算好字节数去取吧。还有下面的代码我也试过了,还是假死,一直在加载中。

asp购物源码,vscode页面显示红色感叹号,ubuntu网卡驱动更新,war包里面可以有tomcat,sqlite 丢数据,上海网页设计工作室,怎么查自己的DNS服务器,discuz关于我们插件,前端框架vue学习,爬虫怎么治,太原 php,你好seo,如何免费创建企业网站,电商网页模版之家,下拉导航模板,tabs页面切换,ftp文件管理系统,微擎 小程序模块lzw

$appenStr = $out = \;$start_time = time();do{if (false === ($out = socket_read($msgsock, 8192))){echo ("SOCKET_READ_ERROR: " . socket_strerror(socket_last_error($msgsock)));$str = "";break;}if (time() - $start_time > 1){echo ("SOCKET_READ_ERROR: Timeout!!!");$str = "";break;}$appenStr .= $out;} while ($out != "");

求大神指导

回复讨论(解决方案)

如果在输入流已经读空的情况下,你再去读,就会出现死锁(因为再也读不到东西了)

所以准确的判断是否读空是很重要的

if( trim($buf )){

$appenStr .= $buf;

}else{

break;

}

如果在输入流已经读空的情况下,你再去读,就会出现死锁(因为再也读不到东西了)

所以准确的判断是否读空是很重要的

if( trim($buf )){

$appenStr .= $buf;

}else{

break;

}

谢谢。可我试了下,还是有那问题

来人啊,求大神帮忙啊

找到答案了,哈

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。