# -- coding: utf-8 -- _author__ = "HuaQiang Yan" import socket def handle_request(client): buf = client.recv(1024) # 接收请求 client.send(bytes("HTTP/1.1 200 OK\r\n\r\n", encoding='utf-8')) client.send(bytes("Hello World!", encoding='utf-8')) # 发送请求 # bytes():转换成bytes类型 # 当然直接encoding不用谢bytes也行,但是按照标准比较不会出错 # 相当于 str(1)转换字符串 # 相当于list((111,))转换成列表 # 相当于bytes('sdfsd',)转换成bytes def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建socket服务端,AF_INET:IPv4,SOCK_STREAM:TCP sock.bind(('0.0.0.0', 8000)) # 监听端口,1024以下为标准端口需要管理员权限开启,1024以上可以随意用 sock.listen(5) # 最大连接数 while True: # 循环 connection, address = sock.accept() # 只要有人连接获取该连接 # connection:链接标记位, address:对方的地址 handle_request(connection) # 执行handle_reques处理函数 connection.close() # 连接断开 #也就是有人访问了该服务端,服务端返回数据后自动断开 if __name__ == '__main__': main() # 执行该函数