基于Python的实时聊天室开发

实时聊天室开发过程文档 一,采用了 pyqt 和 thinker 两个前端模块 开发过程:先使用 qt designer 制作出界面,再使用 pyuic 把界面转为对应的 python 代码

本文包含相关资料包-----> 点击直达获取<-------

实时聊天室开发过程文档

一、采用了 pyqt 和 thinker 两个前端模块

开发过程:先使用 qt designer 制作出界面,再使用 pyuic 把界面转为对应的 python 代码,但当所有的界面制作完成想要编写逻辑时遇到问题。

问题描述:在前期制作登录界面的过程中,因为考虑到编码规范,想法 GUI 和逻辑交互分离,但发现某点击事件传递参数和做出响应时遇到问题,准确来说应该是 GUI 阻塞之类的与 socket 编程无关的问题,并且许久未经解决,故改用 thinker。

如图所示:因为 GUI 一直等待参数的传递,处于阻塞状图,只能强制杀死进程,可惜当时截图忘记存了,不然可以放到这里。

解决办法:那就只能 GUI 和逻辑代码混在一起了,避开 pyqt,使用更为轻量级的 thinker

二、参数传递问题

问题描述:启动服务器后客户端理应自动启动

解决办法:引入 OS 模块,使用 os.system(command)来完成对 client.py 的启动,如下图所示:

三、自动启动的 client 和手动启动的 client 接收的参数不同

问题描述:自动启动的 client 默认主机号是本机,只需要输入 Port;手动启动的 client 需要手动输入 IP 和 Port

解决方法:因为自动启动的 client 可以知道 server 的 IP 地址,所以不需要再输入 IP,而通过 clientGUI.py 启动的 client 不知道 server 的 IP 地址,所以需要手动输入。自动运行的是 client.py 而手动运行的是 clientGUI.py client.py

c++ clientGUI.py

输入的 port 不存在

问题描述:输入的 port 上 server 没有运行

解决办法:自动启动时不会报错,client 不会成功启动,手动启动时 client 会报错,client 不会成功启动

参考文献

  • 基于.NET自定义控件的社区网站系统研究与实现(武汉理工大学·刘亚)
  • 企业内部即时通讯系统的设计与实现(内蒙古大学·王慧平)
  • 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐)
  • 面向中小企业的即时消息系统(山东大学·孙巍)
  • 南洋学院网络新闻发布系统(电子科技大学·诸国华)
  • 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐)
  • 面向企业用户的即时通讯系统的设计与实现(哈尔滨工业大学·王雷寒)
  • 面向企业用户的即时通讯系统的设计与实现(哈尔滨工业大学·王雷寒)
  • 面向企业管理平台会话系统后端的设计与实现(南京大学·顾必成)
  • 基于Struts+JSP的SNS网站系统的设计与实现(吉林大学·王雷)
  • 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
  • 面向企业管理平台会话系统后端的设计与实现(南京大学·顾必成)
  • 基于Web文语转换通讯系统的设计与实现(华东师范大学·李伟)
  • WEB QQ——基于JMS技术并集成在服务器端的即时通讯系统(成都理工大学·李健)
  • 基于Openfire的即时通信服务端系统设计与实现(华中科技大学·陈理兵)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码向导 ,原文地址:https://bishedaima.com/yuanma/36105.html

相关推荐

发表回复

登录后才能评论