2017-01-01 1 views
1

У меня есть простой скрипт php (который работает на xampp) для длинного сервера опроса, но я бы хотел перевести его на Python и сделать его сервером Python. Я отчужден от неопытности с python (особенно когда речь заходит о веб-серверах), и я не нашел простых решений для веб-серверов Python, которые бы сделали то же самое, поэтому мне интересно, может ли кто-нибудь помочь мне перевести этот скрипт из php для Python.Python long polling server (тот же, что и существующий сервер PHP)

Мой скрипт 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); 
?> 
+0

Это очень широкий вопрос! существует так много способов запустить веб-сервер python/веб-сервис/сервер приложений/... пока вы не решите, как вы хотите использовать python в качестве сервера, вы вряд ли получите ответ ... –

+0

Как я писал в вопрос, мне нужно, чтобы он выполнял то же самое, что и мой PHP-скрипт, который: когда он получает метку времени через GET, тогда она должна запускать проверки времени модификации определенного файла, если время модификации файла отличается от времени, которое мы получили от GET, а затем отправьте ответ. Итак, если кто-то может просто показать мне пример простого сервера python, который также будет очень полезен. –

+0

@TomSilverhill - я ответил на ваш запрос на «простой сервер python»? – Yaron

ответ

1

Следующие ссылки включают образец простого сервера питона, а также дополнительную информацию, она должна дать вам хорошую отправную точку для питона TCP/программирования клиент/сервер IP:

Клиент и сервер

TCP/IP - https://pymotw.com/2/socket/tcp.html

питон вики - TCP Связь - https://wiki.python.org/moin/TcpCommunication

Документы Python - 20.17.4.1. SocketServer.TCPServer Пример - https://docs.python.org/2/library/socketserver.html#SocketServer.TCPServer