客戶端(sim卡)向服務(wù)器發(fā)送udp包,服務(wù)器這怎樣獲得遠(yuǎn)端電腦的真實(shí)ip和端口呢?
好像UDP數(shù)據(jù)包里就有真實(shí)ip和端口,不知道通過(guò)php怎么獲得。
如果通過(guò)客戶端來(lái)發(fā)送真實(shí)ip和端口信息,不大理想。
謝謝!
調(diào)用$connection->getRemoteIp() $connection->getRemotePort() 即可獲得客戶端的出口ip和端口。
如果客戶端在局域網(wǎng),只能獲得客戶端所在局域網(wǎng)的出口ip和端口,無(wú)法直接獲得客戶端局域網(wǎng)ip和端口。要想獲得客戶端所在局域網(wǎng)的內(nèi)網(wǎng)ip和端口,只能客戶端主動(dòng)發(fā)送數(shù)據(jù)包告訴服務(wù)端。
如果不知道客戶端真實(shí)IP地址和端口號(hào),是不是就不能用下面這段代碼了
$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);