2014-04-15 89 views
0

如果你明白标题的含义,我不太确定,所以我会尽量详细一点。检查一个流是否使用了端口

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

一个例子:

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

问候

回答

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); 
} 
+0

现在我得到的错误是:“警告:stream_socket_client():无法连接到TCP://0.0.0.0:33334(请求的地址不在其上下文中有效)” – user3535563

+0

使用一个有效的IP地址。 –

+0

尝试过,但它不起作用。我甚至尝试将tcp更改为udp以及我的公共ip,apache服务器ip和本地ip。没有作品 – user3535563