TCP 通信
写数据
Qt 提供了用于发送数据的方法 QTcpSocket
下有 write()
方法, 用于写入数据。
其接收的数据为 QByteArray
类型。
// 实例化 QByteArray 对象
QByteArray ba;
// 获取用户输入并且转换为 QByteArray 类型
ba.append(ui->Input_Edit->text());
// 写入数据
socket->write(ba);
读取数据
当服务器收到消息时会发出一个信号, QTcpServer
会发出一个 readyread
信号。
将信号连接至槽函数即可实现对输入消息进行处理。
槽函数
void cheat::on_Send_Button_clicked()
{
// 实例化 QByteArray 对象
QByteArray ba;
// 获取当前系统时间
QDateTime curremt_date = QDateTime::currentDateTime();
// 获取目标服务器 IP
QString target_ip = socket->peerAddress().toString();
// 获取用户输入并且转换为 QByteArray 类型
ba.append(ui->Input_Edit->text());
// 写入数据
socket->write(ba);
// 提示用户发送的消息
ui->Message_Edit->insertPlainText("\nSend Data to " + target_ip + " in " + curremt_date.toString("yyyy-MM-dd hh:mm:ss")
+ "\n-> " + ui->Input_Edit->text());
// 写入完毕清空输入框
ui->Input_Edit->clear();
}