环境:win11、python 3.9.2
背景:python的web框架众多,常见的如django、flask、tornado等,其底层是什么还是有些许的疑问,所以查找相关资料,实现浏览器访问,并返回相关信息
时间:20231006
- #coding: utf-8
-
- """
- 搭建简单服务器
- """
-
- import socket
-
- HOST = '0.0.0.0' #使用0.0.0.0,实现本机访问
- PORT = 80 #设置端口号
- ADDR = (HOST,PORT) #放在一起就是套接字了
-
- web = socket.socket() #创建socket对象
- web.bind(ADDR) #绑定端口
-
- web.listen(5) #可同时连接5个客户端
- print('sever is listening...')
-
- while True:
- client_connection,client_address = web.accept() #建立客户端连接
- print('link addr:')
- print(client_address) #打印客户端发来的嵌套字
-
- client_connection.send(str.encode("HELLO,WORLD")) #向客户端发送信息,需要byte类型的参数,需要做一下转换
-
- data = client_connection.recv(1024)
- print(data)
-
- client_connection.close() #关闭连接
浏览器访问:
socket称之为套接字,是网络编程的基础,分为客户端与服务端,本文中客户端为浏览器,服务端为启动的代码。 所有网络间的通信,均源自于此。
例如:聊天软件、直播类、DNS等,本文中的属于BS架构的应用,同样也是基于此。