超级逍遥景天 发表于 2019-3-28 00:30

python 网络编程之socket初探

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

陈世界 发表于 2019-3-28 04:37

感谢楼主分享,一同进步

wikiyc 发表于 2019-3-28 08:18

好简单的一段代码

mihacker 发表于 2019-3-28 08:34

后排支持。{:1_921:}
页: [1]
查看完整版本: python 网络编程之socket初探