All Projects → liu-jianhao → chatRoom

liu-jianhao / chatRoom

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

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
QMake
1090 projects
Makefile
30231 projects

Projects that are alternatives of or similar to chatRoom

Swift
Swift XMPP client and Swiften XMPP library
Stars: ✭ 190 (+30.14%)
Mutual labels:  chat, qt, qt5
Nheko
No longer maintained - Desktop client for the Matrix protocol (active fork https://github.com/Nheko-Reborn)
Stars: ✭ 410 (+180.82%)
Mutual labels:  chat, qt, qt5
Quaternion
A Qt5-based IM client for Matrix
Stars: ✭ 438 (+200%)
Mutual labels:  chat, qt, qt5
Skillbox Chat
Skillbox demo application for the Python course
Stars: ✭ 86 (-41.1%)
Mutual labels:  chat, qt
Syntaxmeets
Syntaxmeets. Create rooms 🏠 Call your friends 👬🏼 Sip Chai, ☕ Chat, Create, and Code👨‍💻. A coding platform to code simultaneously 🚀 with your friends and design your algorithms on SyntaxPad.💫✨
Stars: ✭ 110 (-24.66%)
Mutual labels:  chat, chatroom
Mojo Webqq
【重要通知:WebQQ将在2019年1月1日停止服务,此项目目前已停止维护,感谢大家四年来的一路陪伴】使用Perl语言(不会没关系)编写的smartqq/webqq客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,755 (+1102.05%)
Mutual labels:  chat, qq
Basic Vue Chat
Easy to use Vue chat.
Stars: ✭ 64 (-56.16%)
Mutual labels:  chat, chatroom
ShiTTYchat
A bare-bones terminal chat room.
Stars: ✭ 24 (-83.56%)
Mutual labels:  chatroom, client-server
Go Space Chat
【孤单Lonely】基于Golang/WebSocket/Canvas/Protobuf 的聊天室
Stars: ✭ 228 (+56.16%)
Mutual labels:  chat, chatroom
QUaServer
Qt C++ wrapper for open62541 server stack
Stars: ✭ 78 (-46.58%)
Mutual labels:  qt, qt5
qSIP
VoIP/SIP client (softphone)
Stars: ✭ 20 (-86.3%)
Mutual labels:  qt, qt5
Lawsroom
Group video chat on your browser. [No plugin required]
Stars: ✭ 87 (-40.41%)
Mutual labels:  chat, chatroom
Gochat
goim server write by golang !🚀
Stars: ✭ 1,144 (+683.56%)
Mutual labels:  chat, chatroom
dannyAVgleDownloader
知名網站avgle下載器
Stars: ✭ 27 (-81.51%)
Mutual labels:  qt, qt5
screenshotgun
Open cross-platform screenshoter with cloud support and server part
Stars: ✭ 23 (-84.25%)
Mutual labels:  qt, qt5
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (-56.16%)
Mutual labels:  chat, qq
LAN-Messenger
Official open-source repository for LAN Messenger
Stars: ✭ 17 (-88.36%)
Mutual labels:  chatroom, client-server
tenplayer
Modern Music Player for Linux
Stars: ✭ 18 (-87.67%)
Mutual labels:  qt, qt5
Workerman Chat
Websocket chat room written in PHP based on workerman.
Stars: ✭ 988 (+576.71%)
Mutual labels:  chat, chatroom
Swiftychat
SwiftUI Chat UI (Client) Framework & Documentation to get started!
Stars: ✭ 50 (-65.75%)
Mutual labels:  chat, chatroom

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。
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].