#ifndef serverwidget_h
#define serverwidget_h
#include
#include
//監聽套接字
#include
//通訊套接字
#include
#include
namespace ui
class
serverwidget
:public qwidget
;#endif
// serverwidget_h
#include
"serverwidget.h"
#include
"ui_serverwidget.h"
#include
#include
#include
serverwidget::
serverwidget
(qwidget *parent)
:qwidget
(parent),ui
(new ui::serverwidget)})
;});
connect
(&timer,
&qtimer::timeout,[=
]())
;}serverwidget::
~serverwidget()
//選擇檔案的按鈕
void serverwidget::
on_buttonfile_clicked()
//提示開啟檔案的路徑
ui->textedit-
>
(filepath)
; ui-
>buttonfile-
>
setenabled
(false);
ui->buttonsend-
>
setenabled
(true);
}else
}//傳送檔案按鈕
void serverwidget::
on_buttonsend_clicked()
else
}void serverwidget::
senddata()
; len =0;
//往檔案中讀資料
len = file.
read
(buf,
sizeof
(buf));
//傳送資料,讀多少,發多少
len = tcpsocket-
>
write
(buf, len)
;//傳送的資料需要累積
sendsize +
= len;
}while
(len >0)
;// //是否傳送檔案完畢
// if(sendsize == filesize)
//
}
#ifndef clientwidget_h
#define clientwidget_h
#include
#include
#include
namespace ui
class
clientwidget
:public qwidget
;#endif
// clientwidget_h
#include
"clientwidget.h"
#include
"ui_clientwidget.h"
#include
#include
#include
clientwidget::
clientwidget
(qwidget *parent)
:qwidget
(parent),ui
(new ui::clientwidget)
//彈出對話方塊,顯示接收檔案的資訊
qstring str =
qstring
("接收的檔案: [%1: %2kb]").
arg(filename)
.arg
(filesize/
1024);
qmessagebox::
information
(this
,"檔案資訊"
, str)
;//設定進度條
ui->progressbar-
>
setminimum(0
);//最小值
ui->progressbar-
>
setmaximum
(filesize/
1024);
//最大值
ui->progressbar-
>
setvalue(0
);//當前值
}else
//檔案資訊
//更新進度條
ui->progressbar-
>
setvalue
(recvsize/
1024);
if(recvsize == filesize)
//檔案接收完畢}}
);}clientwidget::
~clientwidget()
void clientwidget::
on_buttonconnect_clicked()
Qt使用TCP傳輸檔案(帶UI)
ui設計 源 伺服器與客戶端 ifndef serverwidget h define serverwidget h include include include include include namespace ui class serverwidget public qwidget endi...
QT中TCP實現檔案傳輸功能
實物圖 客戶端 傳送端 和服務端 接受端 為一體 部分 詳情 注釋詳細 widget.h ifndef widget h define widget h include include include include namespace ui class widget public qwidget ...
QT的TCP協議編寫檔案傳輸
下面通過tcp協議通訊講解傳送檔案和接收檔案 一 客戶端作為檔案傳送端 1 思路步驟 連線伺服器 當連線成功後會傳送connected訊號 在槽函式中傳送檔案頭資訊 當資料傳送成功後會傳送byteswritten 在槽函式中傳送檔案內容 2 實現 如下 filesend.h ifndef files...