Python学习---基于TCP协议的网络通信程序案例
TCP简介:
●TCP 面向连接、可靠的、基于字节流的传输控制协议
●TCP的特点
○面向连接
○可靠传输
■应答机制
■超时重传
■错误校验
■流量管控
●TCP通信模型
TCP严格区分客户端、服务端
tcp通信模型:
客户端代码:
# 1﹑导入socket模块
import socket# 2·创建socket套接字
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 3·建立tcp连接(和服务端建立连接)
address = ("192.168.52.2", 8080)
tcp_client_socket.connect(address)
# 4·开始发送数据(到服务端)
tcp_client_socket.send("你好,世界!".encode("gbk"))
# 接收数据:二进制数据
recv_data = tcp_client_socket.recv(1024)
recv_text = recv_data.decode("gbk")
print("收到数据:", recv_text)
# 5·关闭套接字
tcp_client_socket.close()
服务端代码:
1.能够接受一个客户端的多条信息
2.能够接受多个客户端连接
目前是单线程,只有第一个客户端断开连接后第二个客户端才能连接,多线程可实现多个客户端同时连接收发消息
import socket# 1.socket创建一个套接字
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2.bind绑定ip和port,默认本地ip地址
address = ("", 10000)
tcp_server_socket.bind(address)
# 3.开启监听,listen使套接字变为可以被动链接,允许接受最大连接数
tcp_server_socket.listen(128)
while True:# 4.accept等待客户端的链接,返回一个新的套接字和客户端的ip地址端口号,此套接字负责和客户端通信recv_data = tcp_server_socket.accept()# 5.recv/send接收发送数据new_client_socket, client_ip_port = recv_dataprint(f"{client_ip_port} 已连接……………………")while True:recv_data = new_client_socket.recv(1024)# 当接受到为空时说明客户端已经断开连接,服务器也应该断开,非空即为真:if recv_data:recv_text = recv_data.decode("gbk")print(f"接收到来自{str(client_ip_port)}的信息:{recv_text}")else:print("客户端已经断开连接!!!!")break# 关闭本次通信连接new_client_socket.close()
# 6.关闭服务器连接
tcp_server_socket.close()
相关文章:
Python学习---基于TCP协议的网络通信程序案例
TCP简介: ●TCP 面向连接、可靠的、基于字节流的传输控制协议 ●TCP的特点 ○面向连接 ○可靠传输 ■应答机制 ■超时重传 ■错误校验 ■流量管控 ●TCP通信模型 TCP严格区分客户…...
正确可用--Notepad++批量转换文件编码为UTF8
参考了:Notepad批量转换文件编码为UTF8_怎么批量把ansi转成utf8-CSDN博客https://blog.csdn.net/wangmy1988/article/details/118698647我参考了它的教程,但是py脚本写的不对. 只能改一个.不能实现批量更改. 他的操作步骤没问题,就是把脚本代码换成我这个. #-*-…...
每天五分钟深度学习框架PyTorch:创建具有特殊值的tensor张量
本文重点 tensor张量是一个多维数组,本节课程我们将学习一些pytorch中已经封装好的方法,使用这些方法我们可以快速创建出具有特殊意义的tensor张量。 创建一个值为空的张量 import torch import numpy as np a=torch.empty(1) print(a) print(a.dim()) print(s.shape) 如图…...
2024电工杯数学建模B题Python代码+结果表数据教学
2024电工杯B题保姆级分析完整思路代码数据教学 B题题目:大学生平衡膳食食谱的优化设计及评价 以下仅展示部分,完整版看文末的文章 import pandas as pd df1 pd.read_excel(附件1:1名男大学生的一日食谱.xlsx) df1# 获取所有工作表名称 e…...
LabVIEW和ZigBee无线温湿度监测
LabVIEW和ZigBee无线温湿度监测 随着物联网技术的迅速发展,温湿度数据的远程无线监测在农业大棚、仓库和其他需环境控制的场所变得日益重要。开发了一种基于LabVIEW和ZigBee技术的多区域无线温湿度监测系统。系统通过DHT11传感器收集温湿度数据,利用Zig…...
FastCopy
目录 背景: 简介: 原理: 下载地址: 工具的使用: 背景: 简介: FastCopy是一款速度非常快的拷贝软件,软件版本为5.7.1 Fastcopy是日本的最快的文件拷贝工具,磁盘间相互拷贝文件是司空见惯的事情,通常情况…...
stm32常用编写C语言基础知识,条件编译,结构体等
位操作 宏定义#define 带参数的宏定义 条件编译 下面是头文件中常见的编译语句,其中_LED_H可以认为是一个编译段的名字。 下面代码表示满足某个条件,进行包含头文件的编译,SYSTEM_SUPPORT_OS可能是条件,当非0时,可以…...
秋招突击——算法——模板题——区间DP——合并石子
文章目录 题目内容思路分析实现代码分析与总结 题目内容 思路分析 基本思路,先是遍历区间长度,然后再是遍历左端点,最后是遍历中间的划分点,将阶乘问题变成n三次方的问题 实现代码 // 组合数问题 #include <iostream> #in…...
数据库——实验12 数据库备份和还原
1. 备份设备的概念和方法 备份设备是指 SQL Server 中存储数据库和事务日志备份副本的载体,备份设备可以被定义成本地的磁盘文件、远程服务器上的磁盘文件、磁带。 在创建备份时,必须选择要将数据写入的备份设备。SQL Server 2005 可以将数据库、事务日…...
Node.js —— 前后端的身份认证 之用 express 实现 JWT 身份认证
JWT的认识 什么是 JWT JWT(英文全称:JSON Web Token)是目前最流行的跨域认证解决方案。 JWT 的工作原理 总结:用户的信息通过 Token 字符串的形式,保存在客户端浏览器中。服务器通过还原 Token 字符串的形式来认证用…...
文旅3d仿真数字人形象为游客提供全方位的便捷服务
在AI人工智能与VR虚拟现实技术的双重驱动下,文旅3D数字代言人正以其独特的魅力,频频亮相于各类文旅场景,为游客带来前所未有的个性化服务体验。他们不仅有趣有品,更能言善道,成为文旅业数字化发展的新亮点。 这些文旅3…...
leetcode算法常用函数
文章目录 字符相关字符串相关数组和集合相关数值相关容器相关 核心关注算法逻辑,其他的常见操作用标准库里函数即可,不用浪费时间。 Java语言作为参考,记录刷题时常用的函数 字符相关 Character.isDigit(); //判断是否为数字Character.isLet…...
element-plus表格的表单校验如何实现,重点在model和prop
文章目录 vue:3.x element-plus:2.7.3 重点: 1) tableData放到form对象里 2) form-item的prop要写成tableData.序号.属性 <!--table-表单校验--> <template><el-form ref"forms" :model"form"><e…...
WPF密码输入框明文掩码切换
1,效果 2,代码: WPF的PasswordBox不能像Winform中的PasswordBox那样,通过PasswordBox.PasswordChar(char)0显示明文。所以这里使用无外观控件构筑掩码明文切换。 无外观控件遵守Themes/Generic.xaml文件配置. <ResourceDicti…...
SaaS架构详细介绍及一个具体实现的示例
SaaS架构详细介绍 软件即服务(SaaS,Software as a Service)是一种通过互联网交付软件应用程序的模式。 SaaS提供商托管应用程序,并通过网络将其提供给最终用户,用户无需安装和维护软件,只需通过浏览器或其他…...
四川音盛佳云电子商务有限公司正规吗?靠谱吗?
在数字化浪潮席卷全球的今天,电子商务已成为推动经济发展的重要引擎。四川音盛佳云电子商务有限公司,作为抖音电商服务的佼佼者,正以其独特的视角和创新的策略,引领着抖音电商的新潮流,开启着电商服务的新篇章。 四川…...
C++ 写的_string类,兼容std::string, MFC CString和 C# 的string
代码例子: using namespace lf; int main() { CString s1 _t("http://www.csdn.net"); _string s2 s1; CString s3 s2; _pcn(s1); _pcn(s2); _pcn(s3); return 0; } 输出: _Str.h /***************************************…...
【揭开深度学习之核:反向传播算法简析】
文章目录 前言反向传播算法的基础工作原理伪代码示例关键点结论 前言 在深度学习的世界里,反向传播算法是一张藏在神秘面纱后的地图,它指引着神经网络通过复杂的数据迷宫,找到最优解的路径。本文将简要介绍反向传播算法的原理,探…...
Web3 知识体系架构图
Web3 知识体系架构图 │ ├── 1. 基础概念 │ │ │ ├── 1.1 区块链 │ │ ├── 工作原理 │ │ ├── 公链 vs 私链 │ │ └── 常见区块链平台(如比特币、以太坊) │ │ │ ├── 1.2 去中心化 │ │ ├── P2P 网络 │ │ ├── 去中心化…...
SQL、Mongo、Redis一般适用于那些场景
在一个项目中同时使用 MySQL、Redis 和 MongoDB 是相对常见的做法,因为它们各自具有不同的特点和适用场景,可以组合使用以满足不同的需求。下面是它们的一些常见用途和特点: MySQL: 关系型数据库: MySQL 是一个传统的关…...
实战指南:基于快马平台生成git自动化部署脚本,实现ci/cd流水线
今天想和大家分享一个实战中特别实用的技巧:如何用git结合自动化脚本来简化版本发布和部署流程。这个方案在我们团队的实际项目中已经稳定运行了大半年,效果非常不错。 版本号自动打tag功能 这个脚本的核心功能之一就是自动读取项目中的版本号文件&…...
3分钟搞定100个Excel文件:极速多表格查询工具让数据搜索效率提升30倍
3分钟搞定100个Excel文件:极速多表格查询工具让数据搜索效率提升30倍 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 你是否经历过这样的绝望时刻?当领导要求从20个Excel报表中…...
Pixel Aurora Engine真实案例:用‘蒸汽朋克猫武士’生成整套游戏美术资源
Pixel Aurora Engine真实案例:用蒸汽朋克猫武士生成整套游戏美术资源 1. 项目背景与工具介绍 Pixel Aurora Engine(像素极光引擎)是一款基于AI扩散模型的高端像素艺术生成工具。它采用复古的8-bit游戏机风格界面,却能产出专业级…...
新手入门福音:用快马AI生成你的第一个Python版游戏账号管理工具
作为一个刚接触Python编程的新手,最近想尝试开发一个简单的游戏账号管理工具。这个需求其实挺常见的,比如我平时玩多个游戏,账号密码经常记混,如果能有个小工具统一管理就方便多了。在朋友的推荐下,我尝试用InsCode(快…...
STM32F4读写SD卡:填一填ST官方HAL库的坑
使用STM32读写SD卡在低功耗存储中的应用是比较常见的,但是网上大多数资料都是基于标准库或者基于寄存器的开发。随着嵌入式设备越来越复杂,使用HAL库能够大大降低开发者的学习成本,从而提高开发效率。近年来,ST官方主推以STM32Cub…...
XiaoMusic:让小爱音箱突破音乐限制的开源解决方案
XiaoMusic:让小爱音箱突破音乐限制的开源解决方案 【免费下载链接】xiaomusic 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 你是否遇到过这样的困扰:想听的歌曲在各大…...
HunyuanVideo-Foley 企业级架构设计:基于Agent的分布式音效生成调度系统
HunyuanVideo-Foley 企业级架构设计:基于Agent的分布式音效生成调度系统 1. 引言:音效生成的企业级挑战 想象一下这样的场景:一家大型视频平台每天需要为上万条视频自动生成匹配的音效。传统单机方案面临三大难题:生成速度跟不上…...
2025届学术党必备的十大降重复率神器推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术研究范畴之内,论文撰写常常会由于其结构繁杂且格式规范极为严格࿰…...
Java外部函数接口不是“能用就行”——从内存泄漏、线程崩溃到ABI不兼容,这9类致命缺陷正在 silently 摧毁你的微服务
第一章:Java外部函数接口(JEP 454)核心原理与演进脉络Java外部函数接口(Foreign Function & Memory API,JEP 454)标志着Java平台原生互操作能力的根本性重构。它取代了长期受限且易出错的JNI࿰…...
实战开发:基于快马AI为mc jc服务器快速生成定制化空岛生存玩法插件
今天想和大家分享一个实战案例:如何用InsCode(快马)平台为我的MC JC服务器快速开发一个定制化的空岛生存玩法插件。整个过程比想象中顺利很多,特别适合需要快速迭代玩服的服主们。 需求分析阶段 空岛生存模式需要解决四个核心问题:初始环境生…...
