检查流是否使用了端口

时间:2014-04-15 10:54:00

标签: php sockets stream udp

我不太确定你是否理解我对标题的意思所以我会尝试更详细一点。

我使用stream_socket_server来通过它接收数据包。不幸的是,与此同时,我可能会有更多的脚本执行相同的工作,但自然地,每个脚本都需要具有不同的端口。我的问题是,如何检查流是否使用了一个端口?我尝试了几个脚本,但没有一个工作。有什么想法吗?

一个例子:

stream_socket_server("udp://0.0.0.0:$port", $errno, $errstr, STREAM_SERVER_BIND)

祝你好运

1 个答案:

答案 0 :(得分:0)

在创建流服务器之前,您可以创建流客户端并尝试连接该端口,如;

$fp = stream_socket_client("tcp://0.0.0.0:$port", $errno, $errstr, 30);
if (!$fp) {
    echo "Port is not used";
    stream_socket_server("udp://0.0.0.0:$port", $errno, $errstr, STREAM_SERVER_BIND);
}