代码语言:javascript复制
import socket
def handle_client(socket_con):
"""
接收来自客户端的请求,并接收请求报文,解析,返回
"""
# 服务器接收客户端的请求报文
request = socket_con.recv(4096).decode()
print(request)
# 服务器拼接响应报文并回复
response_line = 'HTTP/1.1 200 OKrn'
response_head = 'Server:skylark 2.0rn'
response_head = 'Content-Type:text/html;charset=utf-8rn'
response_body = '这是显示的内容!rn'
response = response_line response_head 'rn' response_body
socket_con.send(response.encode())
socket_con.close()
def main():
# 服务器创建负责监听的socket
socket_listen = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置端口重用
socket_listen.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
# 绑定监听端口
socket_listen.bind(('', 8888))
# 设置监听队列
socket_listen.listen(128)
# 通过循环不同的接受请求
while True:
# accept() 返回元组 (socket object, address info)
socket_con, socket_con_adds = socket_listen.accept()
# 打印提示信息
print('客户端:',socket_con_adds,'连接成功!')
# 使用函数处理客户端发送的信息
handle_client(socket_con)
if __name__ == '__main__':
main()