from socket import *
serverSocket = socket(AF_INET, SOCK_STREAM)
serverSocket.bind(('', 6789))
serverSocket.listen(1)
while True:
print('Ready to serve...')
# Establish the connection
connectionSocket, addr = serverSocket.accept()
try:
message = connectionSocket.recv(1024)
filename = message.split()[1]
f = open(filename[1:])
outputdata = f.read()
# Send one HTTP header line into socket
connectionSocket.send('HTTP/1.0 200 OK\r\n\r\n'.encode())
# Send the content of the requested file to the client
for i in range(0, len(outputdata)):
connectionSocket.send(outputdata[i].encode())
connectionSocket.send("\r\n".encode())
connectionSocket.close()
except IOError:
# Send response message for file not found
connectionSocket.send('404 file Not Found'.encode())
# Close client socket
connectionSocket.close()
serverSocket.close()
C:\Users\KID\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/KID/ClientServer/webserver.py
Ready to serve...
Ready to serve...
Traceback (most recent call last):
File "C:/Users/KID/ClientServer/webserver.py", line 11, in
connectionSocket, addr = serverSocket.accept()
File "C:\Users\KID\AppData\Local\Programs\Python\Python38\lib\socket.py", line 292, in accept
fd, addr = self._accept()
OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
Process finished with exit code 1