Skip to content

StellaZYing/PySocket-ChatRoom

Repository files navigation

PySocket-ChatRoom

简介

PySocket-ChatRoom 是一个基于Socket的简单聊天程序,使用TCP连接实现客户端和服务器之间的通信。用户可以通过注册和登录进入聊天界面,与其他在线用户进行实时聊天。代码使用Python完成。

功能特性

  • 用户注册:新用户可以通过注册界面创建账号。
  • 用户登录:已注册用户可以通过登录界面进入聊天界面。
  • 记住密码:用户可以选择是否记住密码,方便下次登录。
  • 群聊功能:支持多个用户同时在一个聊天室中交流,消息发送给所有在线用户。
  • 私聊功能:用户可以选择特定的用户进行一对一的私聊,消息只发送给指定的接收者。
  • 数据存储:用户信息和聊天记录存储在SQLite数据库中。
  • 消息类型:可以发送文本、表情包和文件。服务器作为中转站,可以接收文件并转发给目标用户。

安装指南

  1. 克隆仓库
    git clone [仓库地址]
    
  2. 安装依赖:
    pip install -r requirement.txt
    

使用方法

  1. 启动服务器:
    python server.py
    
  2. 启动客户端:
    python client.py
    
  3. 注册账号:
  • 打开客户端,点击“注册”按钮。
  • 输入用户名和密码,点击“注册”按钮完成注册。
  1. 登录账号:
  • 输入用户名和密码,点击“登录”按钮进入聊天界面。
  1. 开始聊天:
  • 在聊天界面输入消息,按下回车键发送消息。
  • 接收其他用户发送的消息并显示在聊天窗口中。

技术栈

  • Python:作为主要开发语言,提供简洁高效的编程体验。
  • Tkinter:用于创建图形用户界面(GUI),实现注册、登录和聊天界面。
  • SQLite:轻量级数据库,用于存储用户信息和聊天记录。
  • Socket编程:实现客户端和服务器之间的网络通信,支持实时聊天功能。

目录结构

  • client.py:客户端代码,负责与服务器进行通信和处理用户界面。
  • server.py:服务器代码,处理客户端的连接请求和消息转发。
  • login.py:登录界面代码,实现用户登录功能。
  • register.py:注册界面代码,实现用户注册功能。
  • yonghu.db:SQLite数据库文件,存储用户信息和聊天记录。
  • requirement.txt:项目依赖文件,列出了项目所需的Python库。
  • README.md:项目说明文档,提供项目的详细信息和使用指南。

许可证

  • 本项目采用MIT许可证。详情请参阅 LICENSE 文件。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages