QT 聊天程式

2021-07-03 13:28:47 字數 3646 閱讀 7993

一.聊天程式

qt實現的介面

網路的資料通訊

伺服器端

建立使用者ui

建立伺服器socket

接受客戶連線

為每個各戶建立執行緒處理客戶資料

分析設計的一般規律:

1.用例

2.事件流

3.找物件,並且抽象類

4.設計類本身

5.設計類關係(泛化關係,關聯關係)

6.設計模式優化設計

設計介面

qmainwindow增加:選單,工具條,狀態條。

選單:qmenubar

addmenu

qmenu

addaction

qmenuitem/qaction

構造器選單的響應

狀態條qstatusbar

伺服器設計圖

//傳送訊息,把接收資料顯示到伺服器主窗體

emit siginfo(tr(buf));

//廣播

list::iterator it=

serverwindow::allusers.begin();

while(it!=serverwindow::allusers.end())}}

serverwindow.h

#ifndef server_window_h

#define server_window_h

#include #include #include #include #include #include #include #include #include "thaccept.h"

#include #include "thclient.h"

using namespace std;

class serverwindow : public qmainwindow

;#endif

serverwindow.cpp

#ifndef server_window_h

#define server_window_h

#include #include #include #include #include #include #include #include #include "thaccept.h"

#include #include "thclient.h"

using namespace std;

class serverwindow : public qmainwindow

;#endif

chatserver.h

#ifndef chat_exception_h

#define chat_exception_h

#include using namespace std;

class chatexception : public exception

;#endif

chatserver.cpp

#include "chatexception.h"

#include #include #include using namespace std;

chatexception::chatexception()

chatexception::chatexception(const char*m)

const char* chatexception::what() const throw()

chatserver.cpp 主程式

int main(int args,char**argv)

chatserver.pro

sources=chatserver.cpp \

serverwindow.cpp \

chatexception.cpp \

serversocket.cpp \

thaccept.cpp \

thclient.cpp

headers=serverwindow.h \

chatexception.h \

serversocket.h \

thaccept.h \

thclient.h

config=release qt

qt=core gui

target=server

QT聊天軟體

該程式實現的是每個使用者登入既是客戶端又是伺服器端,這就需要看你站在哪個角度看問題了。簡單的說,當使用者傳送資訊給別人時就是客戶端,當接收別人的資訊是就可以看做是伺服器端。下面分伺服器端和客戶端2部分來介紹。伺服器端 建立乙個udp socket並繫結在固定埠後,用訊號與槽的方式進行監聽是否有資料來...

Qt編寫的區域網聊天程式

這個程式足足用了乙個月的時間,也怪小生內功不強,但此番修煉著實受益良多。整體程式不建議大家觀摩,主要是太亂了。在這裡我會將其中的幾個重要部分剝離出來和大家分享。該程式介面靈感 於網路,小生不才,又加了一部分自己的愚見,還望源作者能夠原諒。此程式借鑑了江湖上的各位大俠的秘籍和高招,既然 於江湖,就回歸...

MFC UDP 聊天程式

udp 使用者資料報協議 英語 user datagram protocol,縮寫為udp 又稱使用者資料報文協議,是乙個簡單的面向資料報的傳輸層協議 1 採用 udp 設計聊天程式,實際上是對 winsocket 函式進行封裝。資料庫端採用檔案儲存使用者名稱,密碼等資訊。使用者資料結構體 user...