Python插座编程示例
该示例展示了Python中基于TCP协议的Socket通信基本用法,1. 服务端创建套接字并绑定到localhost的12345端口,监听最多5个连接;2. 客户端连接该地址和端口,发送UTF-8编码的消息“你好,服务器!”;3. 服务端接收消息后返回确认响应,客户端打印响应内容;4. 双方通信完成后关闭连接;程序通过try-except处理异常,确保资源正确释放,适合初学者理解socket编程核心流程。
下面是一个简单的 Python Socket 编程示例,包含一个服务端和一个客户端,使用 TCP 协议进行通信。这个例子展示了如何创建一个基本的网络通信程序。

?️ 服务端(Server)
# server.py import socket # 创建一个 TCP/IP 套接字 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定服务器地址和端口 host = 'localhost' port = 12345 server_socket.bind((host, port)) # 开始监听,最大等待连接数为5 server_socket.listen(5) print(f"服务器启动,正在监听 {host}:{port}...") try: while True: # 等待客户端连接 client_socket, client_address = server_socket.accept() print(f"收到连接来自: {client_address}") # 接收客户端发送的数据(最多1024字节) data = client_socket.recv(1024).decode('utf-8') print(f"收到消息: {data}") # 向客户端发送响应 response = f"服务器已收到: {data}" client_socket.send(response.encode('utf-8')) # 关闭客户端连接 client_socket.close() print(f"与 {client_address} 的连接已关闭\n") except KeyboardInterrupt: print("\n服务器正在关闭...") finally: server_socket.close()
? 客户端(Client)
# client.py import socket # 创建一个 TCP/IP 套接字 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 服务器地址和端口 host = 'localhost' port = 12345 try: # 连接到服务器 client_socket.connect((host, port)) print(f"已连接到 {host}:{port}") # 发送消息 message = "你好,服务器!" client_socket.send(message.encode('utf-8')) # 接收服务器响应 response = client_socket.recv(1024).decode('utf-8') print(f"服务器响应: {response}") except ConnectionRefusedError: print("连接失败:请确保服务器已启动。") finally: client_socket.close() print("连接已关闭")
? 如何运行
先运行服务端:
python server.py
再运行客户端(在另一个终端):
python client.py
-
查看输出:
- 服务端会显示收到的消息和连接信息。
- 客户端会收到服务器的响应。
-
socket.AF_INET
:使用 IPv4 地址。 -
socket.SOCK_STREAM
:使用 TCP 协议。 -
bind()
:绑定地址和端口。 -
listen()
:监听连接。 -
accept()
:接受客户端连接,返回新的套接字用于通信。 -
connect()
:客户端连接服务器。 -
send()
/recv()
:发送和接收数据(注意编码为字节)。 - 如果想让服务器支持多个客户端同时通信,可以用多线程或异步处理每个连接。
- 可以修改
host
为'0.0.0.0'
让服务器接受外部 IP 的连接(用于局域网测试)。 - 数据传输需注意编码(通常用 UTF-8)。
✅ 关键点说明
?️ 小提示
基本上就这些。这个例子适合初学者理解 Python 中 socket 的基本用法。不复杂但容易忽略编码和连接管理。

以上是Python插座编程示例的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undress AI Tool
免费脱衣服图片

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Yes,aPythonclasscanhavemultipleconstructorsthroughalternativetechniques.1.Usedefaultargumentsinthe__init__methodtoallowflexibleinitializationwithvaryingnumbersofparameters.2.Defineclassmethodsasalternativeconstructorsforclearerandscalableobjectcreati

本文为您精选了多个顶级的Python“成品”项目网站与高水平“大片”级学习资源入口。无论您是想寻找开发灵感、观摩学习大师级的源代码,还是系统性地提升实战能力,这些平台都是不容错过的宝库,能帮助您快速成长为Python高手。

要入门量子机器学习(QML),首选工具是Python,需安装PennyLane、Qiskit、TensorFlowQuantum或PyTorchQuantum等库;接着通过运行示例熟悉流程,如使用PennyLane构建量子神经网络;然后按照数据集准备、数据编码、构建参数化量子线路、经典优化器训练等步骤实现模型;实战中应避免一开始就追求复杂模型,关注硬件限制,采用混合模型结构,并持续参考最新文献和官方文档以跟进发展。

Python的onelineifelse是三元操作符,写法为xifconditionelsey,用于简化简单的条件判断。它可用于变量赋值,如status="adult"ifage>=18else"minor";也可用于函数中直接返回结果,如defget_status(age):return"adult"ifage>=18else"minor";虽然支持嵌套使用,如result="A"i

使用Python调用WebAPI获取数据的关键在于掌握基本流程和常用工具。1.使用requests发起HTTP请求是最直接的方式,通过get方法获取响应并用json()解析数据;2.对于需要认证的API,可通过headers添加token或key;3.需检查响应状态码,推荐使用response.raise_for_status()自动处理异常;4.面对分页接口,可通过循环依次请求不同页面并加入延时避免频率限制;5.处理返回的JSON数据时需根据结构提取信息,复杂数据可用pandas转换为Data

使用subprocess.run()可安全执行shell命令并捕获输出,推荐以列表传参避免注入风险;2.需要shell特性时可设shell=True,但需警惕命令注入;3.使用subprocess.Popen可实现实时输出处理;4.设置check=True可在命令失败时抛出异常;5.简单场景可直接链式调用获取输出;日常应优先使用subprocess.run(),避免使用os.system()或已弃用模块,以上方法覆盖了Python中执行shell命令的核心用法。

写Python的ifelse语句关键在于理解逻辑结构与细节。1.基础结构是if条件成立执行一段代码,否则执行else部分,else可选;2.多条件判断用elif实现,顺序执行且一旦满足即停止;3.嵌套if用于进一步细分判断,建议不超过两层;4.简洁场景可用三元表达式替代简单ifelse。注意缩进、条件顺序及逻辑完整性,才能写出清晰稳定的判断代码。

使用Seaborn的jointplot可快速可视化两个变量间的关系及各自分布;2.基础散点图通过sns.jointplot(data=tips,x="total_bill",y="tip",kind="scatter")实现,中心为散点图,上下和右侧显示直方图;3.添加回归线和密度信息可用kind="reg",并结合marginal_kws设置边缘图样式;4.数据量大时推荐kind="hex",用
