好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 超级逍遥景天 于 2019-3-28 00:35 编辑
*网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
本程序实现的功能:
简单web服务器的打造。
#导入socketimport socket
#运行这个程序后,浏览器打开localhost:1000 就能访问
#服务器的host 为空字符串,表示接受任意ip地址的连接
#post是端口,这里设置为2000,随便选的一个数字
host = ''
port = 1000
s = socket.socket()
#s.bing用于绑定
#注意bing函数的参数是一个tuple
s.bind((host,port))
#用一个无限循环来处理请求
while True:
#先要s.listen开始监听
#listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程
#服务器进程我这里设置为5
s.listen(5)
#当有客户端过来连接的时候,s.accept函数就会返回2个值
#分别是连接和客户端ip地址
#不会死循环是因为s.accept在等待输入
connection,address = s.accept()
#recv可以接受客户端发送过来的数据
#参数是要接受的字节数
#返回值是一个bytes类型
request = connection.recv(1024)
#bytes类型调用decode('utf-8')来转成一个字符串
print('ip and request,{}\n{}'.format(address,request.decode('utf-8')))
#b''表示这是一个bytes对象
response = b'HTTP/1.1 200 hao\r\n\r\n<h1>hello world!</h1>'
#用sendall发送给客户端
connection.sendall(response)
#关闭
connection.close() |
-
浏览器显示的页面
-
*运行程序后接收到的浏览器信息
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|