OSError: getsockaddrarg: bad family
来源:5-2 案例—HTTP协议实现返回文本信息的Web服务器
神经菜哈
2020-03-04 13:07:50
运行程序后提示错误信息
1回答
好帮手乔木
2020-03-04
同学你好:
同学提供的信息无法确定具体的错误,建议同学可以提供执行的错误截图。
或者可以检查自己的代码:
import socket import multiprocessing def handle_client(client): #接收客户端的数据 client_request_data = client.recv(1024) print("客户端的请求数据为:%s"%client_request_data) #向客户端响应数据,是根据HTTP协议的规范的 #状态行:包含 HTTP 协议版本、状态码和状态描述,以空格分隔 response_start_line = "HTTP/1.1 200 OK\r\n" #自定义了一个响应头 response_headers = "Server:My server\r\n" response_body = "Hello World" #响应正文:返回内容,注意和响应头之间有一个空行 response = response_start_line+response_headers+"\r\n"+response_body print("服务器响应的数据为:%s"%(response)) #一定要回复二进制数据 client.send(response.encode("utf-8")) client.close() if __name__ == '__main__': #创建一个TCP类型的HTTP服务器 server = socket.socket(type=socket.SOCK_STREAM) #如果地址里面什么都不写,代表绑定的是我当前机器的所有IP地址,ip地址和端口号是一个元祖 server.bind(("",8080)) #服务端监听 server.listen(128) print("WEB服务器已经启动....") #不停的接收客户端的请求 while True: #接收客户端的请求,并且返回两个信息,分比为客户端的socket和客户端的地址信息 client,address = server.accept() print("%s,%s连接上了WEB服务器"%(address[0],address[1])) #引入多进程,处理多个客户端的请求 client_process = multiprocessing.Process(target=handle_client,args=(client,)) #开启进程 client_process.start()
如果我解决了同学的问题,请采纳!学习愉快^_^。
相似问题