Git Product home page Git Product logo

chatroom's Introduction

ChatRoom

Introduction

This my OS final project, written by C++ and running in unix-like system (Only tested on ubuntu22.04)

这是我的OS课程设计,运行在Unix命令行上的聊天软件,编译环境:posix系统,gcc10以上,cmake 3.13以上。
在ubuntu22.04测试通过。



使用了许多C++17特性(还有少量C++20特性和非常多C++98的封建余孽
实现非常不优雅,充满了并发问题死锁和各种奇奇怪怪的寄点
(第一次写网络程序, 第一次用Socket QWQ

支持一对一聊天和群组聊天(所有人在一个群里的那种)

运行方法

mkdir build 
cd build 
make -j 

运行服务端

cd build/Server     
./ChatRoomOnlineServer   

运行客户端

cd build/Client       
./ChatRoomOnlineClient    

部署方法

在Configuration.hpp
#define SERVER_IP "" 改成你自己的服务器IP
constexpr ushort SERVER_PORT = 6666; 改成自己的服务器端口
客户端使用方法:
当服务端开启后,进入界面,然后输入help看帮助

潜在问题

客户端如果运行在bash或者某些系统自带的shell上显示可能有点问题
解决方法是下一个现代的shell-like zsh
或者去display.cpp里改代码,把某些代码中的fmt::print中的颜色参数改了

That's all.

chatroom's People

Contributors

feiqi3 avatar

Watchers

 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.