Wie können Sie asynchroner BasehttprequestHandler Python Server funktionieren?Python

Python-Programme
Anonymous
 Wie können Sie asynchroner BasehttprequestHandler Python Server funktionieren?

Post by Anonymous »

Das habe ich. Es heißt Oserror: [Errno 98] Adresse bereits verwendet: < /p>

Code: Select all

import threading
import _thread

def GET(self):

print(self.path)

path = self.path[1:]
print(f"path [{path}]")

message = "";

self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()

f = open(path)
message = f.read()
self.wfile.write(bytes(message, "utf8"))

def SERVE():
with HTTPServer(('0.0.0.0', 8000), handler) as server:
server.serve_forever()

class handler(BaseHTTPRequestHandler):

def do_GET(self):

t1 = threading.Thread(target=GET,args=(self))
t2 = threading.Thread(target=SERVE)
t1.start()
t2.start()

import socketserver
import socket

with HTTPServer(('0.0.0.0', 8000), handler) as server:

server.serve_forever()
< /code>
Ich versuche, es im Parallelcode mit Threads auszuführen, da sie einfacher zu verwenden als die Multiprozessierung. Sie sagen immer, dass sie dies tun, aber ich weiß nicht, wie ich diese Einstellung in meinem Code auf den Socket festlegen kann (oder hinter dem BasehttprequestHandler a.k.a -Server. Arbeiten.        if self.allow_reuse_address and hasattr(socket, "SO_REUSEADDR"):
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
if self.allow_reuse_port and hasattr(socket, "SO_REUSEPORT"):
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
self.socket.bind(self.server_address)
self.server_address = self.socket.getsockname()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post