Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python长轮询服务器(与现有PHP服务器相同)_Php_Python_Server - Fatal编程技术网

Python长轮询服务器(与现有PHP服务器相同)

Python长轮询服务器(与现有PHP服务器相同),php,python,server,Php,Python,Server,我有一个用于长轮询服务器的简单php脚本(在xampp上运行),但我想将其转换为Python并使其成为Python服务器。我对python缺乏经验(特别是在web服务器方面),而且我还没有找到任何简单的python web服务器解决方案来做同样的事情,所以我想知道,有人能帮我将这个脚本从php翻译成python吗 我的php脚本就是这样做的:它从客户端获取时间戳,然后不断将其与文件的当前修改时间进行比较,如果它们不同,它将发送文件内容和用JSON编码的新时间戳。 这是我的密码: <?php

我有一个用于长轮询服务器的简单php脚本(在xampp上运行),但我想将其转换为Python并使其成为Python服务器。我对python缺乏经验(特别是在web服务器方面),而且我还没有找到任何简单的python web服务器解决方案来做同样的事情,所以我想知道,有人能帮我将这个脚本从php翻译成python吗

我的php脚本就是这样做的:它从客户端获取时间戳,然后不断将其与文件的当前修改时间进行比较,如果它们不同,它将发送文件内容和用JSON编码的新时间戳。 这是我的密码:

<?php
$filename = dirname(__FILE__).'/data.txt';

$lastmodif = isset($_GET['timestamp']) ? $_GET['timestamp'] : 0;
$currentmodif = filemtime($filename);

while ($currentmodif <= $lastmodif){
    usleep(10000);
    clearstatcache();
    $currentmodif = filemtime($filename);
}

$response = array();
$response['msg'] = file_get_contents($filename);
$response['timestamp'] = $currentmodif;
echo json_encode($response);
?>

以下链接包括一个简单python服务器示例和一些附加信息,它应该为您提供python tcp/ip客户端/服务器编程的良好起点:

TCP/IP客户端和服务器-

python wiki-TCP通信-


Python文档-20.17.4.1。SocketServer.TCPServer示例-

这是一个非常广泛的问题!有很多方法可以运行PythonWeb服务器/web服务/ApplicationServer/。。。在您决定如何使用python作为服务器之前,您不太可能得到答案…正如我在问题中所写的,我需要它做与我的PHP脚本相同的事情:当它通过get获得时间戳时,它应该在特定文件的修改时间上运行检查,如果该文件的修改时间不同于我们从GET获得的时间戳,则发送响应。所以,如果有人能给我看一个简单python服务器的例子,它也会非常有用。@TomSilverhill-我回答了你关于“简单python服务器”的请求了吗?@Yaron-我仍然没有足够的时间来尝试它,但我很快会的。那我会让你知道的。非常感谢。