套接字-接收/发送消息(php)

套接字-接收/发送消息(php),php,sockets,Php,Sockets,我正在努力学习如何使用插座。 然而,我有一个问题,当涉及到接收(或发送)的消息 以下是我用来发送消息的代码: <?php $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); $msg = "Ping !"; $len = strlen($msg); socket_sendto($sock, $msg, $len, 0, '127.0.0.1', "3306"); echo "Messag

我正在努力学习如何使用插座。 然而,我有一个问题,当涉及到接收(或发送)的消息

以下是我用来发送消息的代码:

    <?php
    $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
    $msg = "Ping !";
    $len = strlen($msg);

    socket_sendto($sock, $msg, $len, 0, '127.0.0.1', "3306");
    echo "Message sent!<br />";
    socket_close($sock);
?>
结果:1
N 5.6.12-log,HfIyF3hÿ÷6rÿaM;~-`}sImysql_native_passwordSocket已关闭

我不明白为什么会这样。
谢谢你的帮助!;)

如果您的主机上的端口3306中已经启动了MySQL服务器,请尝试停止该服务器,然后重试。

在启动代码之前尝试检查端口3306的可用性(例如使用nmap),谢谢您的回答。我已经尝试停止我的Wamp并重试,但它是相同的。奇怪的是,即使我没有启动页面发送消息,我仍然会收到消息:/在启动代码之前是否检查了端口3306?我使用netstat命令(netstat-a)检查了我正在侦听的端口,结果发现端口3306处于“侦听”状态。我不知道这是否足够?就这样!您必须在测试之前停止使用此端口的进程。您可以使用
netstat-ao
找到它的PID,它将在结果中添加一个PID列。感谢您的解释。我检查了一下,发现PID对应于wampmysqld(我正在使用wamp进行测试:/)。
    <?php
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    $adresse = "127.0.0.1";
    $port = "3306"; 

    echo("Connection... <br>");
    $result = socket_connect($socket, $adresse, $port) or die("impossible to connect! <br>");

    echo("Result: ".$result."<br>");

    while($out = socket_read($socket, 2048))
        echo $out;
    socket_close($socket);
    echo("<br />Socket closed!<br>"); 
?>
Connection...