2017-01-01 15 views
1

ロングポーリングサーバー用の簡単なPHPスクリプト(xampp上で動作)がありますが、Pythonに変換してPythonサーバーにしたいと思います。私はPythonに慣れていません(特にWebサーバーの場合)。この同じことをするPython Webサーバーのための簡単なソリューションはありませんでしたので、私はこのスクリプトをphpからPythonへPythonロングポーリングサーバー(既存の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 Webサーバー/ Webサービス/アプリケーションサーバー/を実行する方法はたくさんあります。サーバーとしてPythonを使用する方法を決めるまで、回答は得られません。 –

+0

質問:PHPスクリプトと同じことをする必要があります.GETを使ってタイムスタンプを取得すると、ファイルの変更時刻が私たちが取得したタイムスタンプと異なる場合、特定のファイルの変更時刻のチェックを実行する必要がありますGETし、応答を送信します。だから、誰かが私にシンプルなpythonサーバーの例を示すことができれば、それは非常に有用なものになります。 –

+0

@TomSilverhill - 「シンプルなPythonサーバー」のリクエストに答えましたか? – Yaron

答えて

1

次のリンクは、単純なPythonのサーバーのサンプル、およびいくつかの追加情報が含まれ、それはあなたのpythonのTCP/IPクライアント/サーバープログラミングのための良い出発点を与える必要があります。

TCP/IPクライアントとサーバーから​​

のpythonウィキ - TCP通信からhttps://wiki.python.org/moin/TcpCommunication

Python docs - 20.17.4.1。 SocketServer.TCPServerの例 - https://docs.python.org/2/library/socketserver.html#SocketServer.TCPServer

関連する問題