基于 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 等相关依赖
  • 很多路径需要修改,请自行解决。
  • 若是仍显示不出来图片,可以调式模式实时(运行也建议调式模式)
相关文章
|
9月前
|
网络协议 文件存储
14.9 Socket 高效文件传输
网络上的文件传输功能也是很有必要实现一下的,网络传输文件的过程通常分为客户端和服务器端两部分。客户端可以选择上传或下载文件,将文件分块并逐块发送到服务器,或者从服务器分块地接收文件。服务器端接收来自客户端的请求,根据请求类型执行对应的操作,并根据发送的文件名或其他标识来确定要传输的文件。
52 0
14.9 Socket 高效文件传输
|
25天前
|
网络协议 Java
Java Socket编程 - 基于TCP方式的客户服务器聊天程序
Java Socket编程 - 基于TCP方式的客户服务器聊天程序
27 0
|
12月前
|
移动开发 监控 网络协议
基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
|
2月前
|
数据可视化 Java 关系型数据库
基于java Swing 框架使用socket技术开发的即时通讯系统【源码+数据库】
基于java Swing 框架使用socket技术开发的即时通讯系统【源码+数据库】
|
JavaScript
socket.io实现即时通讯
socket.io实现即时通讯
73 0
|
存储 JSON 前端开发
使用 Socket.io 和 React 开发一个聊天应用
这篇文章主要讲的就是如何使用 Socket.io 和 React 技术栈开发一下相对简单的线上聊天应用
205 0
|
Linux
socket简单文件传输实例
今天在linux系统上写了一个简单的socket文件传输的例子,共享出来仅供参考。例子很简单,只要初学者了解简单的几个socket相关函数和文件函数就能写的出来。
117 0
socket简单文件传输实例
|
存储 移动开发 JavaScript
【你的第一个socket应用】Vue3+Node实现一个WebSocket即时通讯聊天室
这篇文章主要是用WebSocket技术实现一个即时通讯聊天室。从0到1一步一步的编写所有代码,上手容易
540 0
【你的第一个socket应用】Vue3+Node实现一个WebSocket即时通讯聊天室
|
PHP
PHP实现Workerman实例 高性能PHP Socket即时通讯框架
PHP实现Workerman实例 高性能PHP Socket即时通讯框架
379 0
|
Python
Python编程:socket实现文件传输
Python编程:socket实现文件传输
311 0