python聊天室设计_基于python的GUI聊天室设计
基于python的聊天室设计
0实验目的
1实验原理
Socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电,有的提供110伏交流电,有的则提供有线电视节目。客户软件将插头插到不同编号的插座,就可以得到不同的服务。
2程序介绍
2.1 Server
本服务用于开启聊天室的服务功能,实现验证客户,监听用户事件,监控用户聊天行为和转发聊天消息。其中:
tell 主要实现聊天信息的转发功能,通过查询用户列表筛选出列表之外的用户,并同时将聊天的用户名,时间,以及聊天的内容转发出去
serverFunc 实现了接收用户的昵称,监控并通知用户行为的功能
main 完成了初始的验证和建立连接的过程
特点:利用了socket中的 SOCK_STREAM 实现TCP连接
使用了多线程的方法,避免程序阻塞
python聊天室设计_基于python的GUI聊天室设计相关推荐
- 用python做生物信息数据分析_基于Python的自动获取生物信息数据的软件设计
基于 Python 的自动获取生物信息数据的软件设计 * 周斯涵,刘月兰 ** [摘 要] [摘 要] 从国际生物信息学数据库中采集数据来进行相关领域的分析, 但随着数据库规模不断扩大 , 数据来源种 ...
- python实现实时监控_基于 Python 的交换机实时监控系统的设计与实现
从高校校园网运维工作实际出发,论文提出了一种基于 Python 语言+SNMP协议的网络交换机监测系统设计思路与实现方法.整个系统系统采用B/S模式,基于轻量级的web开发框架web.py实现.后端采 ...
- 基于python的分布式扫描器_基于python的服务器监测系统的设计
基于 python 的服务器监测系统的设计 高正 ; 徐浩 ; 余曼 [期刊名称] <电脑知识与技术> [年 ( 卷 ), 期] 2017(013)002 [摘要] 本文介绍了一种基于 P ...
- python收集数据程序_基于Python语言的互联网数据收集软件的设计
软件建立所需的工具及其版本 编写环境与 IDE Python3.5.2 Windows10 PyCharm 2016.3 Sublime Text3 第三方库与版本号 Requests 2.12.1 ...
- python音频实时频谱分析_基于python的音频设计及频谱分析
74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...
- python数据接口设计_基于python的接口测试框架设计(一)连接数据库
基于python的接口测试框架设计(一)连接数据库 首先是连接数据库的操作,最好是单独写在一个模块里, 然后便于方便的调用,基于把connection连接放在__init__()方法里 然后分别定义D ...
- python 机器人运动仿真_基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划.pdf...
基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划 基于ROS 平台的移动机器人的设计与运动仿真 陈勇林 朱应钦 杜政恒 张玉林 (重庆大学城市科技学院电气信息学院,重庆 永川 402 ...
- java web聊天室论文_基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述(样例3)...
<基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc>由会员分享,可免费在线阅读全文,更多与<基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述& ...
- 基于python的智能家居_基于Python的智能家居自动化测试脚本设计及实现
投稿网址 http:www.VideoE.cn|<电视技术>第39 卷第5 期(总第458 期) 117 [本文献信息]沈杰,潘科,刘昕,等. 基于 Python 的智能家居自动化测试 ...
- java web聊天室论文_基于java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc...
基于java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc 还剩 52页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价 ...
最新文章
- 京东 | AI人才联合培养计划!
- android二级列表展开,ExpandableListView控件实现二级列表
- JS中的面向对象编程
- 12 款 Linux 终端推荐
- virtualBox 不通主机
- mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...
- nginx汇总(z)
- 学习activemq,在spring中activemq的配置信息
- [SHOI2008]小约翰的游戏John
- 计算机网络中TCP属于,【填空题】TCP/IP协议将计算机网络的结构划分为应用层、传输层、网络互连层等4个层次,其中IP协议属于【1】层。...
- 类别不平衡问题之评估指标
- 从 RequireJS 到 SeaJS(3)
- 慕课网仿去哪儿项目笔记--(一)-初始化准备
- 预测模型| 2. Nomogram文献抄读 (2): 如何建立和解读癌症预后列线图
- 平均增长率不用计算机,官方数据:平均增长率计算公式如何使用excel计算平均增长率...
- 使用unity3d 接入anySDK的总结2
- python画图分析问卷(含多选题)
- Django 创建项目app
- 微信这个设置你们关闭了吗?
- Dumpling 导出表内并发优化丨TiDB 工具分享
热门文章
- python 趋势跟踪算法_DualThrust区间突破策略Python版
- Atmega128 AVR Studio熔丝位(Fuse)设置
- 最新Android开发视频教程 Android Studio教程(2017-2018-2019)
- 【AR】DroidCam笔记本调用手机摄像头(smartphone's camera as pc webcam)
- 电脑连接安卓手机摄像头的方法(含DroidCam安装包及简明使用教程)
- Javase基础思维导图
- verilog赋多位值_verilog语句两个always块对同一个变量赋值问题!【恢复】
- 微型计算机原理与接口技术第五版pdf,微型计算机原理与接口技术(第5版)
- C语言程序设计答何钦铭答案,c语言程序设计何钦铭课后题答案
- 等保2.0|网络安全保护解决方案