吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2639|回复: 3
收起左侧

[Python 转载] python 网络编程之socket初探

[复制链接]
超级逍遥景天 发表于 2019-3-28 00:30
本帖最后由 超级逍遥景天 于 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()

浏览器显示的页面

 浏览器显示的页面

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

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

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
陈世界 + 1 + 1 我很赞同!
joneqm + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

陈世界 发表于 2019-3-28 04:37
感谢楼主分享,一同进步
wikiyc 发表于 2019-3-28 08:18
mihacker 发表于 2019-3-28 08:34
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 05:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表