QT學習 基於TCP IP的簡易群聊系統

2021-08-08 01:14:25 字數 1138 閱讀 5353

查閱一些資料,我自己試著寫了乙個簡單的聊天系統。

(一)建立套接字進行監聽

//建立套接字 socket()

server = new qtcpserver(this);

//監聽,埠號:9999 bind(...), listen()

bool isok = server->listen(qhostaddress::any,9999);

//監聽失敗

if(false == isok)

connect(server,signal(newconnection()),this,slot(newclient()));

(二)連線客戶端
void server::newclient()

(三)讀取資訊並**
void server::tcpread()

(四)退出客戶端
void server::disclient()

(一)連線伺服器
client::client(qwidget *parent) :

qwidget(parent),

ui(new ui::client)

connect(tcp,signal(readyread()),this,slot(tcpread()));

connect(ui->sendpushbutton,signal(clicked(bool)),this,slot(tcpsend()));

}

(二)讀取資訊
void client::tcpread()

(三)傳送資訊
void client::tcpsend()

該聊天系統能實現群聊功能,即乙個客戶端向伺服器傳送資訊,伺服器接受資訊之後將接受的資訊發給所有與伺服器相連的客戶端。

實現簡易的基於TCP IP 協議的聊天室

專案描述 運用 socket 程式設計,實現了服務端對客戶端的廣播和 客戶端資訊實現客戶端聊天操作,並使用 i o 復用技術中的 epoll 模式解決了乙個執行緒可以處理大量使用者連線伺服器的請求,提高了伺服器併發連線的數量。同時利用執行緒池來管理各個執行緒的工作,避免了建立和銷毀執行緒的開銷,因此...

QT學習之行 簡易登入介面

新建 qt widgets 應用,專案名稱為 login 類名和基類可選擇qialog,也可以保持 mainwindow 和qmainwindow 不變 完成專案建立後,向專案中新增新的 qt 設計師介面類,模板選擇 dialog without buttons,類名更改為 logindialog ...

FPGA學習 基於FPGA的簡易音訊採集系統

本篇部落格記錄乙個小專案的開發 基於fpga的簡易音訊採集系統,專案 是乙個寒假的活動的題目,直接購買了設計好的板卡,專案的基本要求如下 使用的板卡是lattice的ice40up5k,這裡首先記錄一下在lattice的軟體中開發fpga的簡單流程 參考 windows 下 ice40 fpga 開...