我构建了一个基于HTTP服务器的简单python,我想在控制台上打印每个客户端的IP(在此行-print(“客户端的IP地址” + IP))。你能帮我吗?
我附上了服务器的完整代码,谢谢! 该服务器是一个基于HTTP服务器的Python,我使用了select和socket。 需要客户端IP地址的原因是创建用户IP字典。谢谢!
id second_id status
1 3 1
1 4 1
答案 0 :(得分:0)
您从s.accept()
获取客户端地址-这是IP地址(str)和端口(int)的元组。您的代码根本不使用此变量,而只在乎套接字。
new_client_socket, client_address = s.accept()
您仅将客户端请求字符串传递给get_file_info
,因此它对当前服务的客户端一无所知。将客户端地址保存在某个地方,也许在将套接字映射到此类元组的字典中?
更多信息:https://docs.python.org/3/library/socket.html#socket.socket.accept