基于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聊天室设计相关推荐

  1. 用python做生物信息数据分析_基于Python的自动获取生物信息数据的软件设计

    基于 Python 的自动获取生物信息数据的软件设计 * 周斯涵,刘月兰 ** [摘 要] [摘 要] 从国际生物信息学数据库中采集数据来进行相关领域的分析, 但随着数据库规模不断扩大 , 数据来源种 ...

  2. python实现实时监控_基于 Python 的交换机实时监控系统的设计与实现

    从高校校园网运维工作实际出发,论文提出了一种基于 Python 语言+SNMP协议的网络交换机监测系统设计思路与实现方法.整个系统系统采用B/S模式,基于轻量级的web开发框架web.py实现.后端采 ...

  3. 基于python的分布式扫描器_基于python的服务器监测系统的设计

    基于 python 的服务器监测系统的设计 高正 ; 徐浩 ; 余曼 [期刊名称] <电脑知识与技术> [年 ( 卷 ), 期] 2017(013)002 [摘要] 本文介绍了一种基于 P ...

  4. python收集数据程序_基于Python语言的互联网数据收集软件的设计

    软件建立所需的工具及其版本 编写环境与 IDE Python3.5.2 Windows10 PyCharm 2016.3 Sublime Text3 第三方库与版本号 Requests 2.12.1 ...

  5. python音频实时频谱分析_基于python的音频设计及频谱分析

    74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...

  6. python数据接口设计_基于python的接口测试框架设计(一)连接数据库

    基于python的接口测试框架设计(一)连接数据库 首先是连接数据库的操作,最好是单独写在一个模块里, 然后便于方便的调用,基于把connection连接放在__init__()方法里 然后分别定义D ...

  7. python 机器人运动仿真_基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划.pdf...

    基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划 基于ROS 平台的移动机器人的设计与运动仿真 陈勇林 朱应钦 杜政恒 张玉林  (重庆大学城市科技学院电气信息学院,重庆 永川 402 ...

  8. java web聊天室论文_基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述(样例3)...

    <基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc>由会员分享,可免费在线阅读全文,更多与<基于Java网页版聊天室的设计与实现毕业论文含开题报告及文献综述& ...

  9. 基于python的智能家居_基于Python的智能家居自动化测试脚本设计及实现

    投稿网址 http:www.VideoE.cn|<电视技术>第39 卷第5 期(总第458 期) 117 [本文献信息]沈杰,潘科,刘昕,等. 基于 Python 的智能家居自动化测试 ...

  10. java web聊天室论文_基于java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc...

    基于java网页版聊天室的设计与实现毕业论文含开题报告及文献综述.doc 还剩 52页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价 ...

最新文章

  1. 京东 | AI人才联合培养计划!
  2. android二级列表展开,ExpandableListView控件实现二级列表
  3. JS中的面向对象编程
  4. 12 款 Linux 终端推荐
  5. virtualBox 不通主机
  6. mysql无法安装弹出Log_[MySQL FAQ]系列 -- 启用GTID binlog新安装完的MySQL提示无法登录...
  7. nginx汇总(z)
  8. 学习activemq,在spring中activemq的配置信息
  9. [SHOI2008]小约翰的游戏John
  10. 计算机网络中TCP属于,【填空题】TCP/IP协议将计算机网络的结构划分为应用层、传输层、网络互连层等4个层次,其中IP协议属于【1】层。...
  11. 类别不平衡问题之评估指标
  12. 从 RequireJS 到 SeaJS(3)
  13. 慕课网仿去哪儿项目笔记--(一)-初始化准备
  14. 预测模型| 2. Nomogram文献抄读 (2): 如何建立和解读癌症预后列线图
  15. 平均增长率不用计算机,官方数据:平均增长率计算公式如何使用excel计算平均增长率...
  16. 使用unity3d 接入anySDK的总结2
  17. python画图分析问卷(含多选题)
  18. Django 创建项目app
  19. 微信这个设置你们关闭了吗?
  20. Dumpling 导出表内并发优化丨TiDB 工具分享

热门文章

  1. python 趋势跟踪算法_DualThrust区间突破策略Python版
  2. Atmega128 AVR Studio熔丝位(Fuse)设置
  3. 最新Android开发视频教程 Android Studio教程(2017-2018-2019)
  4. 【AR】DroidCam笔记本调用手机摄像头(smartphone's camera as pc webcam)
  5. 电脑连接安卓手机摄像头的方法(含DroidCam安装包及简明使用教程)
  6. Javase基础思维导图
  7. verilog赋多位值_verilog语句两个always块对同一个变量赋值问题!【恢复】
  8. 微型计算机原理与接口技术第五版pdf,微型计算机原理与接口技术(第5版)
  9. C语言程序设计答何钦铭答案,c语言程序设计何钦铭课后题答案
  10. 等保2.0|网络安全保护解决方案