/gochat

A chat server and client based on muduo network library, able to work on a cluster server. Using Nginx TCP module for load balancing and Redis as message queue middleware

Primary LanguageC++MIT LicenseMIT

GoChat

  ____        ____ _           _   
 / ___| ___  / ___| |__   __ _| |_ 
| |  _ / _ \| |   | '_ \ / _` | __|
| |_| | (_) | |___| | | | (_| | |_ 
 \____|\___/ \____|_| |_|\__,_|\__|

A chat server and client based on muduo network library, able to work in Nginx TCP load balancing environment

Gochat

Features

  • Log in & Sign up
  • One-to-one chat
  • Group chat
  • Add friends
  • Create/add groups
  • Offline message
  • Support cluster server

Dependencies

A multithreaded C++ network library based on the reactor pattern. Version 2.0.1.

Required by muduo (for boost::any only). Version 1.69.0.

MySQL

Version 8.0.

Nginx

TCP module required. Version 1.12.2.

Redis

Version 5:4.0.9-1

C++ client for Redis.

Build

./build.sh

Run

Server

./bin/gochat-server [IP] [Port]

Client

./bin/gochat-client [IP] [Port]