私はプログラムを実行するとハングしますが、なぜスレッド化されているのかわからないので、スレッドを使用して複数のリクエストを処理するWebサーバーを作成しました。決して印刷段階には達しません( 'Connected by'、住所)。どんな助けと探検も非常に高く評価されるでしょう。シンプルなWebサーバーが実行時にハングアップ
class Connect(threading.Thread):
def __init__ (self, connection):
self.clientsocket = connection
threading.Thread.__init__(self)
def run(self):
stream = connection.makefile(mode="rw", buffering=1, encoding="utf-8")
firstLine = stream.readline().split(" ")
hList = []
method = firstLine[0]
path = firstLine[1]
line = stream.readline().strip()
while line != "":
hList.append(line.split(":", 1))
line = stream.readline().strip()
if method != 'GET':
stream.write("HTTP/1.0 405 Unsupported\n\nUnsupported")
else:
stream.write("HTTP/1.0 200 Success\n")
stream.write("Content-type: text/plain\n")
stream.write("\n")
stream.write(str(firstLine) + '\n')
for header in hList:
stream.write(str(header) + "\n")
stream.close()
connection.close()
return path == "/stop"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('', 9999))
s.listen(1)
while 1:
connection, address = s.accept()
print('Connected by', address),
Connect(connection).start()
乾杯
インデントがちょっと混乱していると言っても、あなたのPythonプログラムを混乱させる恐れがあります。 –
...あなたは** Python **を書いています。インデントを修正してください。 – Amber
これは今すぐになるはずです – EmberZ