一.聊天程式
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...