插座,PHP,本地端口(Sockets, PHP, local port)

2019-10-19 08:00发布

我正在写使用套接字扩展现有系统基于PHP的客户端。

实施协议基本上是工作,但下一步,我需要知道本地端口,在其上创建套接字。

在服务器上,我有以下输出:插座[ADDR = /客户端IP,端口= 40546,将localPort = 1338]

对于通信工作,我需要的端口40546(或不管它是连接时)。 可悲的是这是不可能更改协议因各种原因。

谢谢advcance

阿德里安

编辑(代码片段):

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, 192.168.0.12, 1338);
// Need to know local socket port (e.g. 40546)
$socketport = ??????
$message = "somestring";
$message = $protocol->encode($message, $socketport);
socket_write($socket, $message, strlen($message));

这基本上是它是什么。 我需要知道在客户方的端口,后创建和连接插口,这意味着无需手动设置。

Answer 1:

我发现了一个功能php.net 。我认为这对你的作品。

socket_getsockname($socket, $ip, $port);
echo "ip: ".$ip;
echo "port: ".$port;

这里$ip为您提供当地addr和$port为您提供了一个本地端口号。



文章来源: Sockets, PHP, local port
标签: php sockets port