QT實現區域網聊天工具 帶UDP檔案傳輸

2021-07-02 05:23:50 字數 2067 閱讀 1755

三年多以前剛學習qt寫的乙個區域網聊天工具小專案。

1. 客戶端程式函式說明

//連線伺服器:

tcpsocket = new qtcpsocket(this);

tcpsocket->connecttohost(serverip,8000);

//斷開伺服器:

tcpsocket->disconnectfromhost();

2. 伺服器端程式說明

if(tcpserver->listen(qhostaddress::any, i))else
3.  檔案傳輸模組

//傳送端:

udpsocket = new qudpsocket(this);

udpsocket->bind(qhostaddress::any, 7758);

connect(udpsocket, signal(readyread()), this,slot(readpendingdatagrams()));

//接收端:

connect(udpsocket, signal(readyread()), this, slot(readpendingdatagrams()));

file.setfilename( filee );

return;

4 程式介面

5. 主要函式

5.1 獲取本機ip位址

qstring feiq_3::getip()  //獲取ip位址

return address.tostring();}}

return 0;

}

void feiq_3::on_pushbutton_in_clicked() //連線伺服器按鍵

if(tmp.contains(" @") )

5.3 私聊模組

else if(tmp.startswith("&&"))

}if(sm.at(1) == ip )}}

5.4 選擇檔案功能

fdialog = new qfiledialog(this);

fdialog->setfilemode(qfiledialog::existingfiles);

connect(fdialog,signal(fileselected ( const qstring & )),this,slot(fs(const qstring & )));

fdialog->hide();

void dialog::fs(const qstring & fs)

}}void dialog::readpendingdatagrams()}}

5.6 檔案傳輸接收端

void dialogrec::initsocket()

void dialogrec::readpendingdatagrams()

}

5.7 視窗美化(在私聊視窗下加入「春」、「夏」、「秋」、「冬」四種**。

void dialog::on_combobox_currentindexchanged(int index)

if(index==1)

if(index==2)

if(index==3)

}

基於python的簡易區域網聊天工具

threading 多執行緒模組,實現同時接收,同時傳送 本地機器兩個命令視窗不同埠號執行,實際使用可在區域網內電腦執行 接受資訊函式 def rec upd while true 接收訊息,最多為1024位元組 data upd.recvfrom 1024 data為乙個元組,info為資訊內容,...

區域網聊天工具FreeChat 1 0 開發日誌

前天把beta發出來了 http bearocean.cnblogs.com archive 2006 01 18 319310.html 由於是基於.net的,所以仍需要framework的支援 之後又對freechat做了些改進,主要的改動如下 增加了乙個config.只要寫好乙個xml文件,將...

用Socket做乙個區域網聊天工具

程式設計成為簡單的服務端和客戶端之間的通訊,但通過一些方法可以將這兩者進行統一起來,讓服務端也成為客戶端,讓客戶端也成為服務端,使它們之間可以互相隨時不間斷的通訊.考慮到實現最原始的服務端和客戶端之間的通訊所需要的步驟對於寫這樣的程式是很有幫助的.作為服務端,要宣告乙個socket a並繫結 bin...