我已多次看到这个问题,但大部分时间都是指网站网址。我的头发现在已经变灰了:
我正在尝试通过网络服务器读取串口。我用$ fp = fopen(“/ dev / serial0”,“r +”)打开设备,我可以写入它(fwrite)并从中读取(fread)。但是,如果未打开串行设备,响应将等待它永远不会接收的输入。从javascript客户端调用的php脚本无限期挂起。当我随后打开设备时,我得到部分数据,我必须重新启动服务器或在它再次同步之前多次读取它。我需要暂停。
我尝试了几种解决方案,例如使用stream_set_timeout($ handle,$ timeout),但这似乎只适用于流。如果我也添加非阻塞,它将返回空,即使设备已打开。
我写了一个脚本,它执行带有超时的shell命令(适用于其他功能)并使用(cat / dev / serial0)。唉,我得到的数据是原始的(如预期的那样),但是cat会返回额外的字符。
这里可能有什么解决方案?
由于