資源簡介
實現簡單的通信

代碼片段和文件信息
#include?“dialog.h“
#include?“ui_dialog.h“
int?i;
Dialog::Dialog(QWidget?*parent)?:
????QDialog(parent)
????ui(new?Ui::Dialog)
{
????ui->setupUi(this);
????tcpSocket?=?new?QTcpSocket(this);
????ip?=?getIP();
????map.load(“./icon/1.jpg“);
????map?=?map.scaled(QSize(390330));
????ui->label_back->setPixmap(map);
????this->setWindowtitle(tr(“私人聊天中...“));
????tcpSocket->connectToHost(serverIP8000);
????fDialog?=?new?QFileDialog(this);
????fDialog->setFileMode(QFileDialog::ExistingFiles);
????connect(fDialogSIGNAL(fileSelected?(?const?QString?&?))thisSLOT(fs(const?QString?&?)));
????fDialog->hide();
????initSocket();
}
Dialog::~Dialog()
{
????delete?ui;
}
void?Dialog::fs(const?QString?&?fs){
????//選中文件點擊open后會出發該信號?至在打開單一文件時出發
????qDebug()?<<“fs“< ????files.clear();
????files.append(fs);
????file.setFileName(files);
????if?(!file.open(QIODevice::ReadOnly))
????????return;
????QByteArray?qq;
????qq.append(“|“);
????qq.append(ip?+?“|“);
????qq.append(ipRec?+?“|“);
????qq.append(fs);
????tcpSocket->write(qq);
}
void?Dialog::sendData()
{
????if?(!file.atEnd())?{
????????QByteArray?line?=?file.read(8000);
????????udpSocket->writeDatagram(lineQHostAddress(ipRec)7755);
????????i++;
????????qDebug()<“send?over!“<????????if(line.size()?<8000){
????????????QByteArray?yes;
????????????yes.append(“*^*文件接收完成!“);
????????????tcpSocket->write(yes);
????????????QMessageBox::warning(thistr(“通知“)tr(“發送成功!“)QMessageBox::Yes);
????????}
????}
}
void?Dialog::initSocket()
{
????udpSocket?=?new?QUdpSocket(this);
????udpSocket->bind(QHostAddress::Any?7758);
????connect(udpSocket?SIGNAL(readyRead())?this?SLOT(readPendingDatagrams()));
}
void?Dialog::readPendingDatagrams()
{
????while?(udpSocket->hasPendingDatagrams())?{
????????QByteArray?datagram;
????????datagram.resize(udpSocket->pendingDatagramSize());
????????QHostAddress?sender;
????????quint16?senderPort;
????????udpSocket->readDatagram(datagram.data()?datagram.size()?&sender?&senderPort);
????????qDebug()?<????????if(datagram?==?“1“){
????????????qDebug()?<“send?OK!“;
????????????sendData();
????????}
????}
}
void?Dialog::on_pushButton_send_clicked()?????????//發送鍵
{
????QByteArray?tmp;
????tmp.append(“&&“);
????tmp.append(ipRec?+?“&&“);
????tmp.append(ui->lineEdit->text()?+?“&&“);
????tmp.append(ip);
????tcpSocket->write(?tmp?);
????tcpSocket->flush();
????ui->lineEdit->clear();
????ui->lineEdit->setFocus();
}
QString?Dialog::getIP()??//獲取ip地址
{
????QList?list?=?QNetworkInterface::allAddresses();
????foreach?(QHostAddress?address?list){
???????if(address.protocol()?==?QAbstractSocket::IPv4Protocol){
???????????if?(address.toString().contains(“127.0.“)){
???????????????continue;
???????????}
???????????return?address.toString();
???????}
????}
????return?0;
}
void?Dialog::chuanIP(QString?ip_recQString?server_ip)
{
????ipRec?=?ip_rec;
????serverIP?=?server_ip;
????ui->lineEdit_IP->setText(ipRec);
????ui->lineEdit_IP->setReadOnly(t
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4139??2011-09-24?15:18??feiq\FeiQ_3_lk\dialog.cpp
?????文件???????1047??2011-09-24?14:53??feiq\FeiQ_3_lk\dialog.h
?????文件???????5063??2011-09-23?20:08??feiq\FeiQ_3_lk\dialog.ui
?????文件???????2241??2011-09-24?15:39??feiq\FeiQ_3_lk\dialogrec.cpp
?????文件????????704??2011-09-24?13:49??feiq\FeiQ_3_lk\dialogrec.h
?????文件???????3611??2011-09-24?14:58??feiq\FeiQ_3_lk\dialogrec.ui
?????文件???????7064??2017-06-15?10:44??feiq\FeiQ_3_lk\feiq_3.cpp
?????文件???????1483??2017-06-15?10:58??feiq\FeiQ_3_lk\feiq_3.h
?????文件??????12751??2017-06-15?10:56??feiq\FeiQ_3_lk\feiq_3.ui
?????文件????????588??2017-06-30?21:06??feiq\FeiQ_3_lk\FeiQ_3_lk.pro
?????文件??????18007??2017-06-30?21:10??feiq\FeiQ_3_lk\FeiQ_3_lk.pro.user
?????文件????????363??2017-06-25?21:52??feiq\FeiQ_3_lk\header.h
?????文件?????139646??2011-09-08?14:51??feiq\FeiQ_3_lk\icon\0.jpg
?????文件??????25493??2011-03-18?16:42??feiq\FeiQ_3_lk\icon\111.jpg
?????文件?????140950??2011-03-18?23:10??feiq\FeiQ_3_lk\icon\1112.jpg
?????文件??????41122??2011-03-18?21:51??feiq\FeiQ_3_lk\icon\1212.jpg
?????文件??????44823??2011-03-18?21:52??feiq\FeiQ_3_lk\icon\1313.jpg
?????文件??????14154??2011-03-18?21:53??feiq\FeiQ_3_lk\icon\1414.jpg
?????文件??????73977??2011-03-18?21:55??feiq\FeiQ_3_lk\icon\1515.jpg
?????文件??????45732??2011-03-18?21:57??feiq\FeiQ_3_lk\icon\1717.jpg
?????文件???????4286??2009-04-19?20:30??feiq\FeiQ_3_lk\icon\friend.ico
?????文件???????4286??2010-04-06?17:30??feiq\FeiQ_3_lk\icon\friend1.ico
?????文件???????2238??2001-05-12?15:49??feiq\FeiQ_3_lk\icon\friend2.ico
?????文件???????9662??2008-12-05?19:43??feiq\FeiQ_3_lk\icon\friend3.ico
?????文件????????766??2010-02-22?15:53??feiq\FeiQ_3_lk\icon\friend4.ico
?????文件?????323590??2006-05-07?03:59??feiq\FeiQ_3_lk\icon\services.ico
?????文件??????36351??2017-06-05?16:06??feiq\FeiQ_3_lk\image\1.png
?????文件???????5018??2011-09-08?22:27??feiq\FeiQ_3_lk\image\11.PNG
?????文件???????3496??2011-09-08?22:28??feiq\FeiQ_3_lk\image\12.PNG
?????文件???????5126??2011-09-08?22:28??feiq\FeiQ_3_lk\image\14.PNG
............此處省略37個文件信息
- 上一篇:三十種排序算法的可視化
- 下一篇:數據結構和算法分析 歷年試卷 浙江大學
評論
共有 條評論