远端电脑向服务器发送udp包,服务器这怎样获得远端电脑的ip呢?

kele566598

客户端(sim卡)向服务器发送udp包,服务器这怎样获得远端电脑的真实ip和端口呢?
好像UDP数据包里就有真实ip和端口,不知道通过php怎么获得。
如果通过客户端来发送真实ip和端口信息,不大理想。
谢谢!

2842 1 0
1个回答

walkor

调用$connection->getRemoteIp() $connection->getRemotePort() 即可获得客户端的出口ip和端口。

如果客户端在局域网,只能获得客户端所在局域网的出口ip和端口,无法直接获得客户端局域网ip和端口。要想获得客户端所在局域网的内网ip和端口,只能客户端主动发送数据包告诉服务端。

  • kele566598 2016-07-19

    如果不知道客户端真实IP地址和端口号,是不是就不能用下面这段代码了

    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
    socket_sendto($sock, $data, strlen($data), 0, '143.203.215.51', 4948);

年代过于久远,无法发表回答
🔝