pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/Mark-ThinkPad/TCP_Robot

" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-71a44d5be3f782c5.css" /> GitHub - Mark-ThinkPad/TCP_Robot: 计算机网络课程设计, 基于TCP协议的简易聊天机器人, 开发语言Python3, 初期版本只能在终端中运行(CLI), 最终完成版为客户端编写了"简陋"的图形界面, 使用Qt5(即PyQt5)实现
Skip to content

计算机网络课程设计, 基于TCP协议的简易聊天机器人, 开发语言Python3, 初期版本只能在终端中运行(CLI), 最终完成版为客户端编写了"简陋"的图形界面, 使用Qt5(即PyQt5)实现

License

Notifications You must be signed in to change notification settings

Mark-ThinkPad/TCP_Robot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于TCP协议的简易聊天机器人


Content


简介

  • 计算机网络课程设计中的一个题目: 基于TCP协议的简易聊天机器人
  • 开发语言: Python 3.7.3
  • 开发平台: Manjaro Linux 18
  • 初期版本其实就是很容易搜到的现成的轮子: 教程链接, 只能在终端中使用(CLI)
  • 最后的完成版为客户端编写了"简陋"的图形界面(GUI), 使用了 Qt5(PyQT5) 实现
  • 服务端的图形界面暂时无法完整实现, 因为一时无法想出把TCP连接线程中接收到的客户端消息实时刷新的方法, 后面还有两门课设如期而至, 时间紧迫, 只能暂时弃坑, 随缘更新

文件内容

  • server.py: 服务端端核心代码, 已经抽象成类, 可以直接在终端中运行
  • robot.py: 没有完整实现的服务端图形界面, emmm, 看看就好
  • client.py: 客户端核心代码, 也抽象成类, 可以在终端中直接运行
  • user.py: 简陋的客户端图形界面, 支持更换聊天消息框的颜色和字体, 支持夜间模式, 支持一键断开连接和一键重连, 默认回车键快捷发送消息
  • /UI/: 使用 Qt Designer 设计的界面布局文件, 仅用来提供各个部件的定位
  • /background/: 客户端图形界面实现过程中使用的背景图片文件, 发现设置背景图片后实际效果并不好看, 所以没有采用背景图片的方案, 但还是决定把图片保留下来, 图片来源: Bing必应每日壁纸

技术实现

  • 最重要的其实是实现图形客户端的实时刷新消息的功能, Qt5界面中不做处理的直接使用循环可能会导致Qt主线程阻塞, 此时需要借助QThread类使实时刷新消息不阻塞Qt主线程, 同时注意与主线程之间的信号实时传递
  • 其他的直接看代码注释吧, 由于是第一次接触这些东西, 所以添加了不少注释

相关资料

About

计算机网络课程设计, 基于TCP协议的简易聊天机器人, 开发语言Python3, 初期版本只能在终端中运行(CLI), 最终完成版为客户端编写了"简陋"的图形界面, 使用Qt5(即PyQt5)实现

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy