通常,当处理一个在一个接口上接收并在另一个接口上发送的实时应用程序时,您将需要几个线程和至少几个队列。
如果你希望你的程序是事件驱动的(强烈推荐!)您还应该包括在接收到输入时触发的事件。在
对于你的问题,我建议:
COM读取的1个线程
1线程用于COM写入(如果需要写入)
1个PHP编写线程
1个PHP阅读线程(如果需要阅读)
COM输入的1个队列
COM输入的1个事件
每次在COM端口上接收到某些数据时,都会让COM读取线程写入COM输入队列,如果需要,可以在将数据放入队列之前验证该数据。在
然后,COM输入队列将COM输入事件设置为true,这将充当PHP写入队列的“停止”。在
然后,PHP队列将遍历添加到COM输入队列中的所有内容,直到它为空,将COM输入事件设置为false,并等待更多的输入,然后再次循环。在
确保队列是线程安全的,或者在队列周围放置一个互斥锁,以下是一些链接,它们可以帮助您:
对于web服务器端的东西,在向web服务器发送数据时,应该使用http ^{}消息,根据您在请求中放入的内容,您可以将数据发送到web服务器上的脚本,该脚本将验证、处理和存储数据。在
不幸的是,我不是这方面的专家,所以我不能给出很多提示。在