栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python笔记 - 网络编程(十六)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python笔记 - 网络编程(十六)

python提供了两个级别访问的网络服务:

  • 低级别的网络服务支持基本的 Socket,提供了标准BSD Sockets API,可访问底层操作系统Socket接口的全部方法
  • 高级别的网络服务模块 SocketServer,它提供了服务器中心类,可以简化网络服务器的开发

Socket又称套接字,应用程序通常通过套接字向网络中发出请求或应答网络请求,是主机间或一台计算机上的进程可以通信

导入:import socket
创建套接字:s = socket.socket([family[, type[, proto]]])

  • family:套接字家族可以是 AF_UNIX 或者 AF_INET
  • type:套接字类型,可以根据是面向连接还是非连接的分别为SOCK_STREAM、SOCK_DGRAM
  • proto:默认为0

服务端套接字对象内建方法:

函数描述
s.bind()绑定地址(host, port)到套接字,在AF_INET下以元组形式表示地址
s.listen(n)监听,指定最大连接数n,一般为5
s.accept()接受客户端连接,(阻塞式)等待连接
import socket

# 创建socket对象
serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定端口
serverSocket.bind(('127.0.0.1', 10086))
# 设置最大连接数
serverSocket.listen(5)
print('等待连接...')
while True:
    # 建立客户端连接
    clientSocket, addr = serverSocket.accept()
    print(f"连接地址:{str(addr)}")
    msg = '您已成功连接到服务器'
    clientSocket.send(msg.encode('utf-8'))
    clientSocket.close()

客户端套接字对象内建方法:

函数描述
s.connect()连接服务器,address格式为元组(hostname, port)
s.connect_ex()连接出错不抛出异常,返回异常码
import socket

# 创建套接字
clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接端口
clientSocket.connect(('127.0.0.1', 10086))
# 接收小于1024数据
msg = clientSocket.recv(1024)
print(msg.decode('utf-8'))

公共套接字函数:

函数描述
s.recv(buffsize)接收数据以字符串形式返回,指定接受最大数据量
s.send()将字符串数据发送给连接的套接字中
s.close()关闭套接字连接
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022454.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号