import socket
from multiprocessing import Process
import time
#...使用socket创建简单的静态服务器
def func1(sock): # 子进程实现的功能
read_data = sock.recv(2014) # 接受套接字传入的数据
if len(read_data) == 0:
# 判断客户端关闭/html协议内容未接收到的情况下。
print('client close....')
print(sock)
sock.close()
else: # 能够获取read_data
split_data = read_data.decode().splitlines()
print(split_data[0]) # 获取用户请求文件
response_state_line = 'HTTP/1.1 200 OK\r\n'
response_headers = 'Content-Type: text/plain\r\n'
response_body = "hello worldjjjjj"
print("======test1=======")
# web服务器根据客户请求返回内容显示在web上
response_data = response_state_line+response_headers+"\r\n"+response_body
sock.send(response_data.encode())
print("============test3===========")
sock.close()
def main(): #主进程--设置监听端及绑定ip
listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_addr = ('192.168.199.214', 10000)
listen_socket.bind(server_addr)
listen_socket.listen(128)
while True:
#主进程不断尝试接受浏览器请求连接
new_socket, peer_addr = listen_socket.accept()
print("asss")
p = Process(target=func1, args=(new_socket,))
p.start()
print("父进程", new_socket)
time.sleep(10)
new_socket.close()
if __name__ == '__main__':
main()


# ---------------------跪求正确见解------------------------
# -------------求饭吃 0.0~~~


python写简单的web静态服务器,对socket的深入理解。
最新推荐文章于 2024-07-14 15:21:37 发布