php dio_read()一个小小问题.大家来讨论一下 当dio_read()函数在读取串口的数据.当有数据被读取时,dio_read()读完,这个函数执行结束,而没有事据时程序一直在等待.没有数据时,我们有什么办法让它等待限定时间,自动退出.是不是可以设置超时呢,如何设置? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 似乎不好办,如果要对串口设备进行读写操作.建议用C/S结构的程序吧.用两个数据库表,一个读取信息的表(table1),一个发送信息的表(table2).读取消息:C/S程序定时读取串口设备的数据至table1,在php中读取table1中的数据,读取后就设置已读,并用meta设置固定时间重定向,定时读取未读的记录.发送消息:php程序写入记录至table2中,C/S程序定时读取table2中未发送的记录,并写入串口设备. dio_read本身没法设置timeout.考虑怎么把这个线程杀掉吧.php.ini里的timeout不行? There is no way to specify a timeout or do a non-blocking read on Windows. http://cn.php.net/manual/en/function.dio-read.php#66314手册上在讲啊... 如果我没记错~用 non blocking mode 就可以很久没玩串口了 =_= $fd = dio_open('COM3:',O_RDWR|O_NOCTTY|O_NONBLOCK);这样用吗?我这样试了一下,还是一样,没有读到数据就一直等待. 当dio_read()函数在读取串口的数据.当有数据被读取时,dio_read()读完,这个函数执行结束,而没有事据时程序一直在等待.没有数据时,我们有什么办法让它等待限定时间,自动退出. 是不是可以设置超时呢,如何设置? 我的系统是 windows 2003. 做不到就不退出啦长期维持一个PHP进程不停读取串口(每次1字节)所有读取的数据不处理写入一个档案由其它进程处理其实就是给他加一个buffer =.= dio_read本身没法设置timeout.考虑怎么把这个线程杀掉吧.php.ini里的timeout不行? 电子签约系统应用 Discuz X1 与自己的项目合并 WSDL 访问web service 时,假如URL传错怎么办? 用什么PHP系统建一个投票类网站好? 大家都用的是什么编辑器 新手 项目实战 求给建议 求组socket fsockopen 的问题 求助 打开页面返回页面无法显示(经常性出显) %t WHERE 1 %i 里面的%t和%i,是怎么控制的。。 如何部署RadPHP的系统? 帮我 在 php缓存类 增加个自动增加目录的功能 关于雅虎 移动 widget
读取消息:C/S程序定时读取串口设备的数据至table1,在php中读取table1中的数据,读取后就设置已读,并用meta设置固定时间重定向,定时读取未读的记录.发送消息:php程序写入记录至table2中,C/S程序定时读取table2中未发送的记录,并写入串口设备.
很久没玩串口了 =_=
这样用吗?
我这样试了一下,还是一样,没有读到数据就一直等待.
是不是可以设置超时呢,如何设置?
长期维持一个PHP进程不停读取串口(每次1字节)
所有读取的数据不处理
写入一个档案
由其它进程处理其实就是给他加一个buffer =.=