-
大小: 80KB文件類型: .7z金幣: 1下載: 0 次發布日期: 2021-05-09
- 語言: 數據庫
- 標簽: QTcpSocket??
資源簡介
這是一個QT的socke及時通信代碼,里面有數據庫(MYSQL)文件,和服務端,客戶端,等,客戶端外邊像一個QQ,客戶端實現了,多客戶端群聊,添加好友,添加分組,一對一聊天,服務端采用異步通信。
代碼片段和文件信息
#include?“changenickname.h“
ChangeNickName::ChangeNickName(QString?accountint?CLIENT_CHANGE_NICKNAME
QTcpSocket?*qtcpSocket?QWidget?*parent)?:QDialog(parent)
?qtcpSocket(qtcpSocket)?CLIENT_CHANGE_NICKNAME(CLIENT_CHANGE_NICKNAME)?account(account)
{?
setupUi(this);
connect(chengeNickNameButton?SIGNAL(clicked())?this?SLOT(changeNickName()));
}
void?ChangeNickName::changeNickName(){
if?(chengeNickNameLineEdit->text().isEmpty())
{
QMessageBox::information(this?QString::fromLocal8Bit(“提示“)?QString::fromLocal8Bit(“昵稱不能為空!“));
return;
}
QJsonobject?json;
json.insert(“nickName“?chengeNickNameLineEdit->text());?
json.insert(“account“?account);
QJsonDocument?document;
document.setobject(json);
QByteArray?byte_array?=?document.toJson(QJsonDocument::Compact);
QString?json_str(byte_array);
QByteArray?block;
QDataStream?out(&block?QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
//!?[4]?//!?[6]
out?<(quint16)(4?+?json_str.length());
out?< out?< out.device()->seek(0);
qtcpSocket->write(block);
qtcpSocket->flush();
}
void?ChangeNickName::closeEvent(QCloseEvent?*event){
this->hide();
}
ChangeNickName::~ChangeNickName()
{
}
評論
共有 條評論