AF_INET是一个常量(故大写)
socket_sever.listen(128)
# 其中128的含义是监听队列大小
完成了一个超级超级简单的静态web:
#coding:utf-8
import socket
from multiprocessing import Process
def handle_client(client_socket):
"""处理客户端请求"""
# 获取客户端请求
request_data = client_socket.recv(1024)
print(request_data)
# 构造响应数据
response_start_line = "HTTP/1.1 200 OK\r\n"
response_headers = "Sever: My Sever\r\n"
response_body = "hello incant"
response = response_start_line + response_headers + "\r\n" + response_body
print("response data:", response)
# 向客户端形响应数据
client_socket.send(bytes(response, "utf-8"))
# 关闭客户端连接
client_socket.close()
if __name__ == "__main__":
sever_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sever_socket.bind(("", 8088))
# 监听队列大小为128
sever_socket.listen(128)
# 为多个客户端服务
while True:
client_socket, client_address = sever_socket.accept()
print("[%s, %s]用户连接上了"%client_address)
handle_client_process = Process(target=handle_client, args = (client_socket,))
handle_client_process.start()
client_socket.close()
运行效果:
![](https://img.haomeiwen.com/i2228081/3cad63aaf878d0da.png)
学会了一个查看本机IP地址的技能:
右击网络——“打开网络和共享中心”——“更改适配器设置”——选择网络——右键选择状态——就能看见本机IP了
学会了VI编辑器编辑整块代码的操作:
命令模式下,20V,选中了20行,一个y复制,一个d删除(剪切)
这个IP是用来实现浏览器和Pychame的通信的,网络的IP地址并非这个
今日总结:1、不要忽略任何一个小错误 2、写代码要按照先写注释再补充的好习惯写 3、学会多角度分析问题解决问题
网友评论