news 2026/6/2 3:32:27

在Python中TCP网络程序开发的步骤流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Python中TCP网络程序开发的步骤流程

在Python中TCP网络程序开发的步骤流程

一、TCP服务器程序开发流程:

服务器端,实现步骤:1.创建服务器端的Socket对象.2.绑定Ip地址 和 端口号.3.设置最大监听数(允许挂载,挂起的数量)4.具体的监听动作,接收客户端请求,并获取1个socket对象,负责和该客户端的交互.5.给 客户端 发送1句话,二进制形式.6.接收客户端发过来的回执信息(二进制信息),记得转成 字符串,并打印.7.释放资源,关闭accept_socket.
""" 案例: 演示TCP入门, 即: 服务器端给客户端发送1句话, 客户端收到后, 给出回执信息. 流程: 1. 服务器端 => 客户端发送, 'Welcome to study socket!' 2. 客户端接收到消息后, 打印, 并给出回执信息. '消息已收到, So Easy!' 3. 服务器端收到 客户端的 回执信息, 打印即可. 服务器端, 实现步骤: 1. 创建服务器端的Socket对象. 2. 绑定Ip地址 和 端口号. 3. 设置最大监听数(允许挂载, 挂起的数量) 4. 具体的监听动作, 接收客户端请求, 并获取1个socket对象, 负责和该客户端的交互. 5. 给 客户端 发送1句话, 二进制形式. 6. 接收客户端发过来的回执信息(二进制信息), 记得转成 字符串, 并打印. 7. 释放资源, 关闭accept_socket. """# 当前代码为: 服务器端的代码.importsocket# 1. 创建服务器端的Socket对象. 参1: IpV4规则, 参2: 流的形式传输数据.server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 2. 绑定Ip地址 和 端口号.server_socket.bind(('127.0.0.1',12306))# 127.0.0.1 代表本地回路(回环)地址, 在哪里运行, 就代表本机.# 3. 设置最大监听数(允许挂载, 挂起的数量)server_socket.listen(5)# 4. 具体的监听动作, 接收客户端请求, 并获取1个socket对象, 负责和该客户端的交互.# accept_socket: 负责和客户端交互的socket对象.# client_info: 客户端的ip信息.print('server: 1')accept_socket,client_info=server_socket.accept()# print(f'客户端ip: {client_info}')print('server: 2')# 5. 给 客户端 发送1句话, 二进制形式.accept_socket.send(b'Welcome to study socket!')# 6. 接收客户端发过来的回执信息(二进制信息), 记得转成 字符串, 并打印.# 1024表示 一次性接收客户端数据的长度(单位: 字节), 超出则无法接收.recv_data_bytes=accept_socket.recv(1024)recv_data=recv_data_bytes.decode(encoding='utf-8')# 把 二进制字符串 转成 字符串.print(f'服务器端收到回执信息:{recv_data}')# 7. 释放资源, 关闭accept_socket.accept_socket.close()# 和客户端交互的socket, 一般要关闭.# server_socket.close() 服务器端一般不关闭.

二、 TCP客户端程序开发流程:

客户端,实现步骤:1.创建客户端的Socket对象.2.连接服务器端的 Ip地址 和 端口号.3.接收服务器端发过来的信息(二进制信息),记得转成 字符串,并打印.4.给 服务器端 发送1句话,二进制形式.5.释放资源,关闭accept_socket.
""" 案例: 演示TCP入门, 即: 服务器端给客户端发送1句话, 客户端收到后, 给出回执信息. 流程: 1. 服务器端 => 客户端发送, 'Welcome to study socket!' 2. 客户端接收到消息后, 打印, 并给出回执信息. '消息已收到, So Easy!' 3. 服务器端收到 客户端的 回执信息, 打印即可. 客户端, 实现步骤: 1. 创建客户端的Socket对象. 2. 连接服务器端的 Ip地址 和 端口号. 3. 接收服务器端发过来的信息(二进制信息), 记得转成 字符串, 并打印. 4. 给 服务器端 发送1句话, 二进制形式. 5. 释放资源, 关闭accept_socket. """# 导包importsocket# 1. 创建客户端的Socket对象. 参1: IpV4规则, 参2: 流的形式传输数据.client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 2. 连接服务器端的 Ip地址 和 端口号.client_socket.connect(('127.0.0.1',12306))# 3. 接收服务器端发过来的信息(二进制信息), 记得转成 字符串, 并打印.recv_data_bytes=client_socket.recv(1024)recv_data=recv_data_bytes.decode(encoding='utf-8')# 把 二进制字符串 转成 字符串.print(f'客户端收到:{recv_data}')# 4. 给 服务器端 发送1句话, 二进制形式.client_socket.send('消息已收到, 有内鬼, 终止交易, Over!'.encode(encoding='utf-8'))# 5. 释放资源, 关闭client_socket.client_socket.close()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 3:29:54

geth的安装(Linux)

基于Linux系统geth的安装 更多技术博客 http://vilins.top/ 安装ethereum sudo apt-get install software-properties-commonsudo add-apt-repository -y ppa:ethereum/ethereumsudo add-apt-repository -y ppa:ethereum/ethereum-devsudo apt-get updatesudo apt-get insta…

作者头像 李华
网站建设 2026/6/2 3:29:05

基于Arduino与光敏电阻的智能跳绳计数器设计与实现

1. 项目概述与核心思路跳绳,大概是每个孩子童年记忆里都绕不开的一项运动,也是成年人高效燃脂的经典选择。但数数这事儿,总是容易分心——跳着跳着,是第87下还是第92下?自己数容易错,让别人帮忙数又太麻烦。…

作者头像 李华
网站建设 2026/6/2 3:24:00

TS7329K,演绎高线性度与高隔离的宽带SPDT传奇

简介今天我要向大家介绍的是 Tagore 的射频开关——TS7329K。它犹如一位兼具力量与精细的“信号守门人”,在基站与天线之间默默指挥着射频信号的流向。它拥有出色的峰值功率处理能力,在700MHz至3.8GHz的频段内,能轻松承受高达42dBm的连续波&a…

作者头像 李华
网站建设 2026/6/2 3:20:40

CUDA 统一内存消除 TensorRT 推理输入拷贝开销的底层实践

CUDA 统一内存消除 TensorRT 推理输入拷贝开销的底层实践前言 大伙好,我是刘洋,网名第一程序员。虽然名头挺响亮,但我其实是个每天都在跟 GPU 内存管理和 AI 推理框架死磕的系统编程萌新。最近在优化公司的大模型推理服务。我们底层使用了 Te…

作者头像 李华