无法使用PHP从套接字接收数据

时间:2014-10-02 13:48:55

标签: php sockets

我正在使用此代码在服务器上创建套接字和绑定套接字连接,但我没有从硬件接收数据到我的服务器。它在localhost服务器上正常工作。

  <?php

 error_reporting(E_ALL);

 /* Allow the script to hang around waiting for connections. */
 set_time_limit(0);

 /* Turn on implicit output flushing so we see what we're getting
  * as it comes in. */
 ob_implicit_flush();

 $address = "69.195.124.247";
 $port = 80;

 if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
     echo "socket_create() failed: reason: ".socket_strerror(socket_last_error())."\n";
 }

 if (socket_bind($sock, $address, $port) === false) {
     echo "socket_bind() failed: reason: ".socket_strerror(socket_last_error($sock))."\n";
 }

 if (socket_listen($sock, 5) === false) {
     echo "socket_listen() failed: reason: ".socket_strerror(socket_last_error($sock))."\n";
 }

 do {
     if (($msgsock = socket_accept($sock)) === false) {
         echo "socket_accept() failed: reason: ".socket_strerror(socket_last_error($sock))."\n";
         break;
     }
     /* Send instructions. */
     $msg = "\nWelcome to the PHP Test Server. \n".
         "To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
     socket_write($msgsock, $msg, strlen($msg));

     do {
         if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
             echo "socket_read() failed: reason: ".socket_strerror(socket_last_error($msgsock))."\n";
             break 2;
         }
         if (!$buf = trim($buf)) {
             continue;
         }
         if ($buf == 'quit') {
             break;
         }
         if ($buf == 'shutdown') {
             socket_close($msgsock);
             break 2;
         }
         $talkback = "PHP: You said '$buf'.\n";
         socket_write($msgsock, $talkback, strlen($talkback));
         echo "$buf\n";
     } while (true);
     socket_close($msgsock);
 } while (true);

 socket_close($sock);

    ?>  

我有一个Bluehost服务器,我使用端口80。

0 个答案:

没有答案