나는 매우 간단한 HTTPServer를 Python으로 구현했습니다. 코드는 다음과 같습니다 :Python의 SimpleHTTP 서버에서 강제로 다시로드
import SimpleHTTPServer
import SocketServer as socketserver
import os
import threading
class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
path_to_image = 'RGBWebcam1.png'
img = open(path_to_image, 'rb')
statinfo = os.stat(path_to_image)
img_size = statinfo.st_size
print(img_size)
def do_HEAD(self):
self.send_response(200)
self.send_header("Content-type", "image/png")
self.send_header("Content-length", img_size)
self.end_headers()
def do_GET(self):
self.send_response(200)
self.send_header("Content-type", "image/png")
self.send_header("Content-length", img_size)
self.end_headers()
f = open(path_to_image, 'rb')
self.wfile.write(f.read())
f.close()
class MyServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
def __init__(self, server_adress, RequestHandlerClass):
self.allow_reuse_address = True
socketserver.TCPServer.__init__(self, server_adress, RequestHandlerClass, False)
if __name__ == "__main__":
HOST, PORT = "192.168.2.10", 9999
server = MyServer((HOST, PORT), MyHandler)
server.server_bind()
server.server_activate()
server_thread = threading.Thread(target=server.serve_forever)
server_thread.start()
while(1):
print "test"
주어진 IP 주소에 연결하면 페이지가로드되고 모든 것이 정상입니다. 페이지가 n 초마다 자동으로 새로 고쳐지면 좋을 것입니다. 저는 파이썬에 매우 익숙하며 특히 웹 코딩을 처음 접했습니다. LiveReload 그러나이 두 라이브러리를 함께 병합하는 방법에 대해 머리를 맞출 수는 없습니다.
당신의 도움이
당신은 서버 측에서 페이지를 다시로드 브라우저를 강제 할 수 없다. 이것은 클라이언트 측에서만 가능합니다. livereload는 재로드를 구현하는 일부 자바 스크립트를 사용하여 제공된 페이지를 패치합니다. [https://github.com/lepture/python-livereload/blob/master/livereload/server.py#L222] – languitar