Python基于TCP协议实现客户端与服务端通信示例

小石头
小石头
发布时间:2026-10-13| 3人浏览过
原创

本文详细介绍如何使用Python标准库socket实现基于TCP协议的客户端与服务端通信。通过创建Socket对象、绑定端口、监听连接及收发字节流数据,演示了完整的交互流程。代码涵盖客户端连接与发送、服务端监听与接收,适合初学者理解网络编程核心概念。

Python TCP通信环境准备

要实现基于TCP协议的信息发送与接收,首先需要准备两个独立的Python脚本文件:一个用于模拟客户端角色,另一个用于模拟服务端角色。

我们将第一个文件命名为客户端脚本(client),负责发起连接并发送数据;第二个文件命名为服务端脚本(server),负责监听端口并接收数据。

以下是客户端脚本的具体代码实现。

客户端连接与发送实现


# client 客户端
# TCP必须建立连接
import socket  #导入模块
# SOCK_STREAM---TCP协议方式
# AF_INET----我的是ipv4地址
#1,创建socket对象:指定传输协议
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#2,建立连接发送连接请求 ip地址和端口号
s.connect(('127.0.0.1',8000))
s.send("你好".encode()) #只能发送字节流需要用encode转码字符串成字节,不然无法发送文件

以下是服务端脚本的具体代码实现。

服务端监听与接收处理


#服务端server
 
import socket
#1创建socket对象
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #必须和客户端保持一致
#2,需要自己绑定一个ip地址和端口号
s.bind(('127.0.0.1',8000))
#3,服务端监听操作时刻注意是否有客户端请求发来
s.listen(3)  #可以同时监听3个,但是这里只有一个客户请求,因为没有写多线程
#4,同意连接请求
s1,addr=s.accept()  #s是服务端的socket对象s1是接入的客户端socket对象
print(addr)
#5,revice接收数据
data=s1.recv(1024) #设定一次可以接收1024字节大小
print(data.decode())#传过来的字节流需要用decode()解码

程序运行顺序说明

在运行程序时,必须严格遵守顺序:首先运行服务端脚本(文件二),确保其处于监听状态;随后运行客户端脚本(文件一),以建立连接并发送测试信息。

上述内容即为Python TCP协议通信的完整示例,旨在帮助读者掌握基本的网络通信原理。希望该示例能为您的开发工作提供参考,欢迎继续支持本站获取更多技术资源。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。