Python 网络编程
python提供了两个级别访问的网络服务,低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。高级别的的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。
socket:应用程序通常通过“套接字”向网络发出请求或者应答网络请求,使一台计算机上的进程间可以通讯。
socket()函数:可以创建套接字。
语法:socket.socket([family[,type[, protol]]])
family:表示套接字家族,可以是AF_UNIX或者AF_INET
type:套接字类型,根据面向连接的,还是非连接的分为:SOCK_STREAM
或SOCK_DGRAM
protocol:一般不填写,默认0
服务端
使用socket模块的socket函数来创建一个socket对象。socket对象可以通过调用其他函数来设置一个socket服务。
通过调用bind(hostname,port)函数来指定服务端的port(端口)
调用socket对象的accept方法。该方法等待客户端连接,并返回connection对象,表示已连接到客户端。
实例:
客户端
客户端连接到以上的服务端。端口号设置为12345。socket.connect(hostname,port)方法打开一个tcp连接到主机为hostname端口为port的服务端,连接后就可以从服务端获取数据。
实例:
打开两个终端,第一个终端执行server.py文件,第二个终端执行client.py文件
客户端终端会输出如下信息:
在服务端可以看到如下信息:
Python Internet模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏