【python】基于python聊天工具

目录

一、概述

二、socket通信

2.1 服务器

2.1.1 建立socket类

2.1.2 绑定端口

2.1.3 监听

2.1.4 等待连接

2.2 客户端

2.2.1 连接

2.2.2 发送

2.2.3 接收

三、基于python的聊天程序的流程设计

3.1 服务器端的流程

3.2 客户端的流程

四、基于python的聊天程序的代码

4.1 服务器端

4.2 客户端  


一、概述

        Python中提供了丰富的开源库,方便开发者快速就搭建好自己所需要的应用程序。本文通过编写基于tcp/ip协议的通信程序来熟悉python中socket通信和多线程的使用。

二、socket通信

        在python中使用socket时要import socket,在使用socket中有服务器端和客户端之分。

2.1 服务器

2.1.1 建立socket类

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        其中AF_INET指定的ipv4的协议,也可以使用AF_INET6指定ipv6的协议,而STREAM是指定面向流的tcp协议。

2.1.2 绑定端口

s.bind(‘’, 8089))

        绑定一个端口号,其中'127.0.0.1'是客户端的ip地址,可以使用’0.0.0.0’来绑定网络中所有的ip,8089是指定的端口,其中端口在小于1024的时候需要有管理员的权限才能绑定。

2.1.3 监听

s.listen(5)

        开始实行监听参数:代表连接的最大数量

2.1.4 等待连接

sock, addr = s.accept()

        接受一个客户端的连接,返回的是一个与客户端保持连接的socket对象以及客户端的ip地址和端口。该方法也会阻塞线程,直到获得客户端的连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/30752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web爬虫-edu_SRC-目标列表爬取

免责声明:本文仅做技术交流与学习... 爬取后,结合暗黑搜索引擎等等进行进一步搜索. edu_src.py import requests, time from bs4 import BeautifulSoup for i in range(1, 20):url fhttps://src.sjtu.edu.cn/rank/firm/0/?page{i}print(f"正在获取第{i}页数据")s …

一种稀疏贝叶斯学习的旋转机械故障诊断方法(MATLAB)

轴承的故障诊断技术是通过检测轴承故障特征信息来判断轴承的具体故障为位置或损伤程度。在轴承发生损坏时,故障特征信息会随着工作时间的增长变得明显。轴承的损坏过程可以分为四个阶段。第一个阶段为损伤初始阶段,轴承故障特征信号一般无法测量。第二个…

SQLite vs MySQL vs PostgreSQL对比总结

开发业务系统时,是绕不开RDBMS(关系型数据库)的。虽然现在诞生了各种NoSQL的数据库,RDBMS在业务系统中的严谨和优势依然无法取代。 近几年大大小小的项目中,常用的三种RDBMS(SQLite,MySQL&#…

基于SSM+Jsp的书店仓库管理系统

摘要:仓库作为储存货物的核心功能之一,在整个仓储中具有非常重要的作用,是社会物质生产的必要条件。良好的仓库布局环境能够对货物进入下一个环节前的质量起保证作用,能够为货物进入市场作好准备,在设计中我们根据书店…

【人工智能】音乐大模型的深入探讨——当机器有了创意,是机遇还是灾难?

👀国内外音乐大模型基本情况👀 ♥概述♥ ✈✈✈如FreeCompose、一术科技等,这些企业专注于开发人工智能驱动的语音、音效和音乐生成工具,致力于利用核心技术驱动文化产业升级。虽然具体公司未明确提及,但可以预见的是…

产业园区空间优化设计的创新实践者

树莓集团在产业园区运营中的空间优化设计方面,通过全面规划与科学布局、绿色智能与可持续发展、个性化定制与灵活多变、创新实践与数字化升级等措施,为企业提供了高品质、高效率的空间环境和服务支持。 一、全面规划与科学布局 明确产业定位&#xff1a…

Nuxt3 实战 (十一):添加路由 Transition 过渡效果和 Loading 动画

页面过渡效果 Nuxt3 利用 Vue 的 组件 在页面和布局之间应用过渡效果。 nuxt.config.ts 文件配置: export default defineNuxtConfig({app: {pageTransition: { name: page, mode: out-in }}, })在页面之间添加过渡效果,在 app.vue 文件中添加以下 CS…

USAD: 多元时间序列的无监督异常检测

USAD: 多元时间序列的无监督异常检测 原创 小王搬运工 时序课堂 2024-06-20 10:43 四川 论文地址:https://dl.acm.org/doi/abs/10.1145/3394486.3403392 论文源码:https://github.com/manigalati/usad 期刊:KDD 20: Proceedings of the 26…

嵌入式开发二十:定时器之基本定时器

定时器是微控制器中的关键外设,用于精确控制时间和事件。通过配置时钟源、预分频器、计数周期和比较值,可以实现各种时间控制任务,如定时中断、PWM生成和时间测量。理解定时器的工作原理和配置方法是嵌入式系统开发中的基本技能。 STM32F407 …

人工智能的头号威胁:投毒攻击

随着掌管数字生活入口的万亿美元俱乐部企业——苹果公司跳入人工智能(AI)赛道,AI技术民主化的大幕正式拉开,同时也将AI安全问题推向舆论的风口浪尖。 根据瑞银本周一的智能手机调查报告,在中国以外的智能手机用户中&am…

安装MySQL5.7版本步骤遇到问题

方法一:下载zip版本(我用的这个) 参考视频(已收藏):windows安装MySQL5.7_哔哩哔哩_bilibili 下载zip压缩包的MySQL的网址:上面这个视频中有哦。 my.ini文件内容如下: [client] p…

深入了解python装饰器(decorator)

什么是装饰器? 装饰器是 Python 中的一种高级功能,它允许你在不修改现有代码的情况下为函数或方法添加新的行为。装饰器本质上是一个接受函数并返回另一个函数的高阶函数。这使得它们非常适合用于横切关注点(如日志记录、权限检查、性能计时…

有什么值得推荐的文件外发权限管理软件?

你的身边有这种事情发生吗? 一些工作人员在传达文件、部署工作时,为贪图方便,直接将涉密文件、涉密工作通过微信群传达部署,造成了大量泄密案件发生。 有些责任人员为了工作方便,对涉密文件进行拍照,通过…

jar包运行脚本

start: # 启动项目 #!/bin/bash nohup java -jar audit-2.1.0.jar > app.log 2>&1 & quit: # 关闭程序 #!/bin/bash PID$(pgrep -f audit-2.1.0.jar) # 根据应用程序名称查找进程ID kill -9 $PID # 结束进程使用 sh命令运行

LIMS系统如何应用在锂电行业中呢

LIMS实验室管理系统在锂电行业的应用主要体现在实验室管理、质量控制、生产流程优化以及数据分析和决策支持等方面。 以下是LIMS系统在锂电行业中的具体应用。 一、实验室管理 样品管理 LIMS系统可以追踪样品的整个生命周期,包括样品的接收、登记、分配、检测进度、…

Python运算符重载,代码秒变高大上!

目录 1、运算符重载基础介绍 🧮 1.1 什么是运算符重载 1.2 为何使用运算符重载 1.3 Python中的特殊方法魔法 示例:重载加法运算符 2、实战:重载加法运算符 + 🧩 2.1 自定义类与__add__() 2.2 应用案例:复数加法 2.3 深入理解__add__方法 3、重载其他运算符示例…

Cytoscape之操作界面介绍

Cytoscape 简介 Cytoscape是一个专注于开源网络可视化和分析的软件。软件的核心部分提供了网络显示、布局、查询等方面的基本功能。软件的核心可以通过插件架构进行扩展,这样就能快速地开发出新的功能。 Cytoscape 源自系统生物学,用于将生物分子交互网…

Linux和Windows(VS 2019)下安装使用Log4cpp日志库

目录 一、Log4cpp简介 二、Windows下的Log4cpp的安装 1、下载网址 2、解决方案 三、Vistual Studio中使用第三方库 1、拷贝对应下图路径下的include文件进入你的项目目录下面去,并将之前编译好的库文件也放在对应项目目录下面去。 2、打开你的项目&#xff0…

nacos 配置修改.代码实时刷新

再类上用 RefreshScope 更新Value(“${uniqlo.privacy.url:https://wsurl.cc/yourls-api.php}”) private String shortLinkGenerateUrl;的数据可以实时更新 2.再配置类上次用 ConfigurationProperties(prefix “test.privacy”) 和nacos的配置一直 Data Component Configu…

华为云EI生态

1、人工智能技术趋势 2、华为AI发展思路 3、华为云EI:让企业更智能 4、华为云服务全景图 5、基础平台类服务 6、MLS:解决特性到模型应用的完整过程 7.DLS 8.GES超大规模一体化图分析与查询 9、EI视觉认知 10、EI语音语义 11、OCR:提供高精度光学文字自动…