有多个客户端程序定期连接到我服务器上的一个端口并发送一行文本。
建立到端口的连接后,我需要启动一个处理数据的 PHP CLI 脚本。可能有许多远程脚本或多或少同时运行/连接,所以我认为最好让 socat 为每个连接分叉一个进程来运行脚本。
我已经让 socat 完成我需要的大部分工作,使用命令
socat tcp-l:myport,fork exec:mypath/socatTest.php
我可以读取 php://stdIn 上的输入。一切都很好。
问题是这个过程似乎没有 fork,所以如果第二个外部程序发送数据而另一个正在做同样的事情,它会得到一个连接被拒绝的错误。
我哪里出错了?