私はPythonを使い始めました。単純なWebサーバーをコーディングしようとしています。 1つの小さな問題を抱えていること以外は、すべて仕事のようです。 WebサーバーからTest.htmlのような特定のファイルを要求すると、HTMLファイル内のデータは、ループ内に滞留しているように繰り返しクライアント内で何度も繰り返されます。 Webクライアントに「Test」と表示されているのを見るのではなく、「Test Test Test Test Test Test ...何度も」参照してください。これはおそらく単純なエラーですが、私は誰かが私を正しい方向に向けることを望んでいました。非常に基本的なPython Webサーバー - 奇妙な問題
ありがとうございました!あなたがループ内で立ち往生している
import socket
import sys
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("Socket Created!!")
try:
#bind the socket
#fill in start
server_address = ('localhost', 6789)
serversocket.bind(server_address)
#fill in end
except socket.error as msg:
print("Bind failed. Error Code: " + str(msg[0]) + "Message: " +
msg[1])
sys.exit()
print("Socket bind complete")
#start listening on the socket
#fill in start
serversocket.listen(1)
#fill in end
print('Socket now listening')
while True:
#Establish the connection
connectionSocket, addr = serversocket.accept()
print('source address:' + str(addr))
try:
#Receive message from the socket
message = connectionSocket.recv(1024)
print('message = ' + str(message))
#obtian the file name carried by the HTTP request message
filename = message.split()[1]
print('filename = ' + str(filename))
f = open(filename[1:], 'rb')
outputdata = f.read()
#Send the HTTP response header line to the socket
#fill in start
connectionSocket.send(bytes('HTTP/1.1 200 OK\r\n\r\n','UTF-
8'))
#fill in end
#Send the content of the requested file to the client
for i in range(0, len(outputdata)):
connectionSocket.send(outputdata)
#close the connectionSocket
#fill in start
connectionSocket.close()
#fill in end
print("Connection closed!")
except IOError:
#Send response message for file not found
connectionSocket.send(bytes("HTTP/1.1 404 Not
Found\r\n\r\n","UTF-8"))
connectionSocket.send(bytes("<html><head></head><body><h1>404
Not Found</h1></body></html>\r\n","UTF-8"))
#Close the client socket
#fill in start
connectionSocket.close()
serverSocket.close()
なぜあなたはこれを行いますか?ちょうど '輸入フラスコ' –