• Stars
    star
    231
  • Rank 172,875 (Top 4 %)
  • Language
    C++
  • Created over 6 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

从零开始实现一个聊天室客户端(用qt实现,在Windows和Linux环境下都行),和在Linux下实现服务器后台

chatRoom

dayOne

  1. 首先实现一个简单的聊天室服务器,基于之前所学的Linux网络编程的知识
  2. 客户端可以自己实现,也可以直接使用nc命令或telnet命令来充当客户端

dayTwo

学习qt,并实现一个能和服务端连接上并且能交流的一个TCP客户端demo

Linux环境下运行的TCP客户端:

Windows7环境下运行的TCP客户端:

与dayOne实现的服务器一起运行:

dayThree

学习qt,然后写出一个图形界面的客户端,暂时先不考虑没不美观、只考虑功能实现

Linux环境下运行的客户端:

Windows7环境下运行的客户端:

与dayOne实现的服务器一起运行:

dayFour

今天把注意力放在服务器,之前写的服务器有点看不过去,现在写一个reactor模式的聊天服务器,这样服务器的并发性能更好

dayFive

今天继续修改dayFour写的服务器,加上日志的功能 为了方便(偷懒),日志采用开源库spdlog

daySix

今天再把重心转向客户端,我们都知道一般的聊天软件肯定都要账号和密码,我们今天就实现它

ChatRoom与Chat+mysql中的服务器一起运行:

(Chat+MySQL是由之前的服务器加上了MySQL数据库的操作,还不完善)

注意!

  1. 在dayFive时添加的依赖库要自行添加,不然直接make会报错
  2. 在客户端中要注意可能要修改IP地址,这取决于你怎么实验,我的服务器端已经部署到阿里云服务器上了,IP地址为120.79.214.120
  3. 由于我还在学习当中,代码可能不怎么好看,而且客户端实在有些难看。不过如果你喜欢的话,可以顺手点一下star。

More Repositories

1

Cpp-Design-Patterns

C++设计模式
C++
2,353
star
2

CMU-15-445

CMU的数据库系统课程
C
250
star
3

Interview

程序员代码面试指南C++版,更新中
Java
117
star
4

springsnail

《Linux 高性能服务器》附带的项目程序springsnil详细解读,一个负载均衡服务器
C++
114
star
5

yfsCpp11

yfs是一个分布式文件系统(mit6.824)
C++
72
star
6

chitchat

《Go Web 编程》中chitchat博客项目的学习(添加详细中文注释)
Go
50
star
7

Raft-Paxos-Sample

MIT6.824实现分布式一致性算法——Raft&Paxos
Go
44
star
8

simpleFS

基于内存的简易文件系统实现
C++
24
star
9

linux_learing

unix/Linux系统编程手册
C
17
star
10

TinyWebServer

CMU 15-441 项目一 Liso Web服务器
C
17
star
11

HoneyBadgerBFT

一个Byzantine容错的分布式共识协议研究与实现
Go
16
star
12

Cracking-the-Coding-Interview

程序员面试金典(第6版)Go、C++、Rust题解
C++
15
star
13

learn_system_programming_in_rust

通过系统编程学习Rust
Rust
11
star
14

Rust_learning

Rust入门
Rust
6
star
15

high-performance-server

学习高性能服务器及muduo库的解析
C++
6
star
16

gopl_answers

《Go程序设计语言》练习答案
Go
3
star
17

Shell-Scripting-Learning

Linux Shell 脚本攻略第三版学习笔记
Shell
3
star
18

talent-plan

my solution for PingCAP training courses
Go
3
star
19

CS144

我的CS144课程学习记录及解决
3
star
20

note

学习笔记
C++
3
star
21

MIT6.828-2014

MIT6.828-2014实验笔记
C
3
star
22

cos461

普利斯顿大学的计算机网络课程
Go
2
star
23

ProgrammingErlang

Erlang程序设计(第2版)读书笔记,包含源代码和课后练习答案
Erlang
2
star
24

go-leveldb

Go语言实现leveldb学习版
Go
1
star
25

CS110L

CS 110L: Safety in Systems Programming
C
1
star
26

mini_distributed_system

实现一个简单的分布式系统,不用任何框架
Go
1
star
27

geek_time

极客时间学习笔记
1
star
28

leetcode

my leetcode solution, C++,Go,python,Rust
C++
1
star
29

crawl_funds

用Go语言实现基金的爬取
Go
1
star
30

CandCPP_programing

leetcode
C
1
star
31

naivechain

区块链的简单实现
C++
1
star
32

token_bucket

几十行代码实现令牌桶算法
Go
1
star