基于 socket 的即时通讯文件传输聊天软件

简介: 基于 socket 的即时通讯文件传输聊天软件

Introduction - 项目简介


用户角度下-使用流程:


image.png

系统概要设计

2196a0759a9554ffe0cd000141176587.png

  • 系统详细设计(只提供通信接口定义)

参考服务端/数据交换协议.xlsx

Features - 功能介绍


  • 用户管理
  • 注册、登录、找回密码
  • 人脸识别、IP 绑定
  • 好友、群聊、个人信息展示
  • 注销(仅服务端实现)


  • 好友管理
  • 展示企业所有人员
  • 添加、删除他人为常用联系人
  • 群组管理
  • 添加、删除群组
  • 即时通信
  • 聊天实时展示
  • 文件传输
  • 界面展示
  • 完成两个界面风格,可设置转换
  • 多个界面可进行跳转
  • 特殊功能
  • 漂流瓶
  • 情感识别打卡
  • 表情包传输
  • 内置 32 个游戏
  • 敏感词侦测


presentation - 部分功能界面展示

db8ea57aeb278d9bc195e6c04f4f04ef.png


image.png


Installation - 安装


Requirements - 必要条件

  • Windows10/Ubuntu 20.04
  • python3.7 and up
  • sqlite3
  • PyQt5
  • keras and tensorflow


Steps - 安装流程

  • 安装 Ubuntu 虚拟机(可选,本项目可在 Windows 下运行)

参考链接:

  1. VMware 虚拟机安装
  2. ubuntu 安装 anaconda
  3. python3 重定向
  4. VMware 下 Ubuntu 与 Windows 实现文件共享的方法
  5. Ubuntu 连接网络

安装资源:

  1. Ubuntu20.04 镜像文件
  2. VMare 工作站下载文件
  • 下载当前文件夹
1. mkdir Charla
2. cd ./Charla
3. git clone https://github.com/Robin-WZQ/Charla.git


  • 下载安装 sqlite3

参考菜鸟教程:SQLite – Python | 菜鸟教程 (runoob.com)

  • 下载安装 PyQt5

参考教程:pyqt5 安装教程

  • 下载安装 Ternsoflow+keras

参考教程:Win10 系统 安装 Anaconda+TensorFlow+Keras

Usage - 使用方法

  1. 首先启动服务端
cd ./Charla/服务端/
python server.py


  • 修改本地 IP 地址,通过 ipconfig 语句在 cmd 中查看
  • 修改 all_files 的文件夹地址

2.其次启动客户端

python logist.py


  • 客户端与服务端须在两个窗口打开(若是在同一个电脑上)
  • 首先开启人脸识别,按 q 退出
  • 情感识别部分如果报错,可以注释掉,或者安装 tensorflow 等相关依赖
  • 很多路径需要修改,请自行解决。
  • 若是仍显示不出来图片,可以调式模式实时(运行也建议调式模式)
相关文章
|
1月前
|
监控 Python
视频监控笔记(五):Jetson Nano上通过Tkinter和Socket实现GUI文件传输
这篇文章介绍了如何使用Python的Tkinter和Socket在Jetson Nano上实现图形用户界面(GUI)的文件传输系统,包括服务器端和客户端,能够进行文件的发送和接收,并展示传输进度。
42 1
|
1月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
150 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
2月前
|
网络协议
关于套接字socket的网络通信。&聊天系统 聊天软件
关于套接字socket的网络通信。&聊天系统 聊天软件
|
3月前
|
资源调度 前端开发
vue3.2最新语法如何使用socket.io实现即时通讯
vue3.2最新语法如何使用socket.io实现即时通讯
|
5月前
|
网络协议 Java
Java Socket编程 - 基于TCP方式的客户服务器聊天程序
Java Socket编程 - 基于TCP方式的客户服务器聊天程序
58 0
|
移动开发 监控 网络协议
基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
|
6月前
|
数据可视化 Java 关系型数据库
基于java Swing 框架使用socket技术开发的即时通讯系统【源码+数据库】
基于java Swing 框架使用socket技术开发的即时通讯系统【源码+数据库】
|
JavaScript
socket.io实现即时通讯
socket.io实现即时通讯
90 0
|
Linux
socket简单文件传输实例
今天在linux系统上写了一个简单的socket文件传输的例子,共享出来仅供参考。例子很简单,只要初学者了解简单的几个socket相关函数和文件函数就能写的出来。
135 0
socket简单文件传输实例
|
存储 移动开发 JavaScript
【你的第一个socket应用】Vue3+Node实现一个WebSocket即时通讯聊天室
这篇文章主要是用WebSocket技术实现一个即时通讯聊天室。从0到1一步一步的编写所有代码,上手容易
651 0
【你的第一个socket应用】Vue3+Node实现一个WebSocket即时通讯聊天室