基于socket的局域网聊天程序

本文最后更新于:2023年12月31日 下午

一、概述

项目仓库

https://github.com/Godtokoo666/projectz

编写语言

Python

主要库

socket,thread,PyQt6,sqlite3

开发逻辑

在功能上区分为服务端和客户端
服务端处理数据库逻辑和客户端请求,使用套接字的recv方法接收请求,通过send发送请求,recv针对单一connection,send针对一个或多个connection,多个connetcion作为对象储存在服务端,通过多线程向多个connetion发送请求。
客户端部署了Qt6GUI框架,通过监听按钮等的动作,完成交互,同样通过send方法发送请求,通过recv方法接收信息。为了不妨碍主线程的进行,客户端同样采用了多线程,另起一个线程,处理来自服务端的命令和信息。

二、演示

截图

登录界面:
图1-登录界面
注册界面:
图2-注册界面
群聊主界面:
图3-群聊主界面

演示视频:

请前往: https://pan.funfs.com/demo/demo.mp4
访问密码:oop935891

三、功能解释:

1.群聊功能

2.文件传输(Private Transfer Only)

3.主要代码解释

4.数据库结构

To Do List

  • 群聊私聊图片发送、预览
  • emoji加入
  • 创建web界面

基于socket的局域网聊天程序
https://blog.funfs.com/project/python-lanchat/
作者
Godtokoo
发布于
2023年12月31日
许可协议