首页 编程教程正文

python 网络编程之socket初探

piaodoo 编程教程 2020-02-22 22:02:18 792 0 python教程

本文来源吾爱破解论坛

本帖最后由 超级逍遥景天 于 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()

hello.png (19.06 KB, 下载次数: 0)

下载附件  保存到相册

2019-3-28 00:30 上传

浏览器显示的页面

 浏览器显示的页面

程序运行后接收到的浏览器信息.png (15.33 KB, 下载次数: 0)

下载附件  保存到相册

2019-3-28 00:29 上传

*运行程序后接收到的浏览器信息

*运行程序后接收到的浏览器信息

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7377.html

搜索