使用PORT在服务器上全天候运行文件

时间:2013-06-29 12:00:29

标签: php sockets tcp port serversocket

我遇到了这个问题。我正在使用服务器(我有完全多余的权利,可以做任何事情)。在此,我想运行一个文件,它将连接到一个端口并从设备接收数据。这些设备将使用TCP发送数据。

服务器文件应该24x7连续运行,没有任何中断。但它没有发生。为了更深入地了解我正在粘贴代码。

$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$result = socket_listen($socket) or die("Could not set up socket listener\n");
while(true) {
    if ($spawn = socket_accept($socket)) {

        if ($input = socket_read($spawn, 1024)) {
            // MY REST OF THE CODE HERE
        }

        socket_close($spawn);
        unset($spawn);
    }
}

在第5行,服务器将接受连接并执行下一个循环。如果设备连续发送数据,那就顺利了。它将等待设备,一旦接收数据,它将继续进行。但几个小时后,服务器文件停止响应。端口已消耗但服务器无法处理数据。我制作了一个客户端文件来测试端口是否正常工作。客户端文件已成功与服务器连接。

如何连续24x7连续运行此文件而不会出错。 我想问的另一件事是,如果有一段时间设备停止发送数据怎么办?它会影响5号线吗?这会导致文件挂起?

0 个答案:

没有答案