import socket
def handel_cli(cli_soc):
'''处理客户端请求'''
# 获取请求头
recv_data = cli_soc.recv(1024*4)
print(recv_data)
if not recv_data:
print('客户端关闭套接字')
cli_soc.close()
return
# 返回响应数据
response_head = 'HTTP/1.1 200 OK\r\n'
response_head += 'Server: ItcastServe 1.0\r\n'
response_head += 'r\n'
response_body = '<h1> i love u 520 </h1>'
cli_soc.send(response_head.encode())
cli_soc.send(response_body.encode())
# 关闭客户端套接字
cli_soc.close()
def main():
'''开发一个能够响应浏览器请求的web服务器'''
# 初始化服务器套接字
serv_soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置套接字复用模式
serv_soc.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR)
serv_soc.bind(('', 1314))
serv_soc.listen(128)
# 获取客户端连接
while True:
print('等待连接客户端')
cli_soc, cli_addr = serv_soc.accept()
# 为客户端提供服务
handel_cli(cli_soc)
# 关闭服务器套接字
serv_soc.close()
if __name__ == '__main__':
main()
def handel_cli(cli_soc):
'''处理客户端请求'''
# 获取请求头
recv_data = cli_soc.recv(1024*4)
print(recv_data)
if not recv_data:
print('客户端关闭套接字')
cli_soc.close()
return
# 返回响应数据
response_head = 'HTTP/1.1 200 OK\r\n'
response_head += 'Server: ItcastServe 1.0\r\n'
response_head += 'r\n'
response_body = '<h1> i love u 520 </h1>'
cli_soc.send(response_head.encode())
cli_soc.send(response_body.encode())
# 关闭客户端套接字
cli_soc.close()
def main():
'''开发一个能够响应浏览器请求的web服务器'''
# 初始化服务器套接字
serv_soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置套接字复用模式
serv_soc.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR)
serv_soc.bind(('', 1314))
serv_soc.listen(128)
# 获取客户端连接
while True:
print('等待连接客户端')
cli_soc, cli_addr = serv_soc.accept()
# 为客户端提供服务
handel_cli(cli_soc)
# 关闭服务器套接字
serv_soc.close()
if __name__ == '__main__':
main()