PHP如何监听多个TCP端口

时间:2014-01-22 20:07:57

标签: php sockets port

我不太确定这是否可行并且在这里搜索+谷歌没有帮助。我想在两个端口上监听(例如,使用6113和6114)我希望这两个端口被同一个脚本监听但不能在不同的脚本上运行。所以我希望能够连接6113和6114,但使用相同的脚本。我希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

像GolezTrol一样。我对你的问题感到困惑。

  

我想在

上听这两个

所以你的脚本是服务器吗?

  

我希望能够在6113和6114上连接,但使用相同的脚本

那么你的脚本是客户端吗?

假设您确实需要服务器,那么您需要考虑协议以及如何处理来自多个客户端的同时连接。解决这两个问题的最简单方法是使用基于事件的服务器(socket_select()或stream_select())。

这是一个混乱的解决方案 - 更简单的方法是重定向操作系统层的端口(例如在Linux上使用iptables),然后你只需要担心一个监听端口。

虽然您也可以使用socket_select()和stream_select()来管理多个客户端连接,但这可能有些过分 - 具体取决于协议。 curl_multi函数会更容易。