Code Monkey home page Code Monkey logo

niochat's Introduction

niochat

项目介绍

Java实现的端到端加密的聊天室,包括NIO版本和Netty版本

组织结构

├── common -- 常量
├── netty
│   ├── client -- Netty实现的客户端
│   └── server -- Netty实现的服务器
├── nio
│   ├── client -- NIO实现的客户端
│   └── server -- NIO实现的服务器
├── tool -- 日志解密工具
└── util -- 工具类

模块

  1. Netty实现的聊天客户端和服务器
  2. NIO实现的聊天客户端和服务器
  3. 日志解密工具

打包文件

  • netty-chat-server.jar: Netty实现的服务器
  • netty-chat-client.jar: Netty实现的客户端
  • chat-server.jar: NIO实现的服务器
  • chat-client.jar: NIO实现的客户端
  • decrypt-tool.jar: 日志解密工具

功能及特性

  1. 聊天
  2. 安全,端到端加密

项目运行

  1. 下载:git clone
  2. 修改配置
    • 修改ChatClient.javaNettyClientHandler.javaDecryptTool.java中的密钥,保持一致
    • 修改ChatClient.javaNettyChatClient.java中的服务器IP
  3. 打包:mvn clean package
  4. 复制相关jar包到服务器:scp chat-server.jar、netty-chat-server.jar和decrypt-tool.jar
  5. 启动服务器:nohup java -jar chat-server.jar(netty-chat-server.jar) > chat.log 2>&1 &
  6. 查看服务器日志:tail -20f chat.log
  7. 运行多个客户端:java -jar chat-client.jar(netty-chat-client.jar)
  8. 解密聊天记录:java -jar decrypt-tool.jar chat.log

运行截图

niochat

许可证

Apache-2.0

niochat's People

Contributors

codethereforam avatar runzhq avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.