1

ポートをリッスンするためのphpプログラムを作成しました.phpコードは次のとおりです

<?php

if(!($sock = socket_create(AF_INET, SOCK_DGRAM, 0)))
{
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);
    die("Couldn't create socket: [$errorcode] $errormsg \n");
}
echo "Socket created \n";


if( !socket_bind($sock, "192.168.0.177" , 5060) )
{
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);
    die("Could not bind socket : [$errorcode] $errormsg \n");
}
echo "Socket bind OK \n";

while(1)
{
    echo "Waiting for data ... \n";

    $r = socket_recvfrom($sock, $buf, 512, 0, $remote_ip, $remote_port);

    echo $buf;
}

?>

しかし、私がそうするとき、私はtelnet 192.168.0.177 5060メッセージを受け取ります

Could not open connection to the host on port 5060

telnet サービスとその動作を確認しました。

4

1 に答える 1

3

これは、UDP ソケットを開き、telnetTCP を使用するためです。

于 2013-04-05T13:10:00.020 に答える