# im **Repository Path**: zerolinck/im ## Basic Information - **Project Name**: im - **Description**: netty proto buf实现的简单的实时通讯系统 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2021-01-25 - **Last Updated**: 2024-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目介绍 im是一款使用netty实现的即时通讯系统,传输格式使用的是google的Protocol Buffers,postgreSQL存储用户信息,mongodb存储离线消息。目前实现了单用户对单用户文字聊天通信,离线消息,心跳检测。客户端和服务端均使用netty框架,有命令行式的客户端和 JavaFx 开发的图形化客户端,使用命令行进行交互,代码量较少,逻辑清晰,适合初学者进行学习。 ### 目录说明 * im-model:实体类模块(数据库实体类,proto buf实体类) * im-dao:数据库相关模块 * im-parse:通用解码译码器 * im-server:服务端 * im-client:命令行客户端 ### 运行 1. postgreSQL创建im库account表,sql脚本在im-model的resource文件夹下,创建用户postgres,密码root 2. mongodb创建im数据库,创建message集合,为im数据库创建用户java,密码123456 3. 先运行服务端ImServerApp,再运行客户端ImClientApp ### 效果演示 ![演示](https://gitee.com/zerolinck/im/raw/master/doc/show.gif) ### JavaFX 图形化客户端 * https://gitee.com/zerolinck/javafx-im-client