24,860
社区成员




- #include "severwidget.h"
- #include "ui_severwidget.h"
- SeverWidget::SeverWidget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::SeverWidget)
- {
- ui->setupUi(this);
- tcpserver = NULL;
- tcpsocket = NULL;
- setWindowTitle("服务器:8888");
- tcpserver = new QTcpServer(this);
- tcpserver->listen(QHostAddress("/*192.168.7.179*/127.0.0.1"),8888);
- connect(tcpserver,&QTcpServer::newConnection,
- [=]()
- {
- tcpsocket = tcpserver->nextPendingConnection();
- //获取IP
- QString ip = tcpsocket->peerAddress().toString();
- //获取端口号
- qint16 port = tcpsocket->peerPort();
- QString temp = QString("[%1:%2]:成功连接").arg(ip).arg(port);
- ui->textRead->setText(temp);
- connect(tcpsocket,&QTcpSocket::readyRead,
- [=]()
- {
- QString temp = QString("[%1:%2]:").arg(ip).arg(port);
- ui->textRead->setText(temp);
- QByteArray array = tcpsocket->readAll();
- ui->textRead->append(array);
- }
- );
- }
- );
- }
- SeverWidget::~SeverWidget()
- {
- delete ui;
- }
- void SeverWidget::on_ButtonSend_clicked()
- {
- if(tcpsocket == NULL)
- {
- return;
- }
- //获取编辑区内容 toPlainText()获取多行简单文本
- QString str = ui->textWrite->toPlainText();//获取窗口信息
- //发送信息 使用tcpsocket套接字
- tcpsocket->write(str.toUtf8().data());
- ui->textRead->setText("服务端:");
- ui->textRead->append(str);
- }
- void SeverWidget::on_ButtonClose_clicked()
- {
- if(tcpsocket == NULL)
- {
- return;
- }
- tcpsocket->disconnectFromHost();
- tcpsocket->close();
- tcpsocket = NULL;
- }
- #include "clientwidget.h"
- #include "ui_clientwidget.h"
- #include <QHostAddress>
- ClientWidget::ClientWidget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::ClientWidget)
- {
- ui->setupUi(this);
- setWindowTitle("客户端");
- tcpsocket = NULL;
- tcpsocket = new QTcpSocket(this);
- connect(tcpsocket,&QTcpSocket::connected,
- [=]()
- {
- ui->textRead->setText("成功建立连接!");
- }
- );
- connect(tcpsocket,&QTcpSocket::readyRead,
- [=]()
- {
- QByteArray array = tcpsocket->readAll();
- ui->textRead->append(array);
- }
- );
- connect(tcpsocket,&QTcpSocket::disconnected,
- [=]()
- {
- ui->textRead->setText("连接中断!");
- }
- );
- }
- ClientWidget::~ClientWidget()
- {
- delete ui;
- }
- void ClientWidget::on_ButtonConnect_clicked()
- {
- QString ip = ui->lineEditIP->text();
- qint16 port = ui->lineEditPort->text().toInt();
- tcpsocket->connectToHost(QHostAddress(ip),port);
- }
- void ClientWidget::on_ButtonSend_clicked()
- {
- QString str = ui->textWrite->toPlainText();
- tcpsocket->write(str.toUtf8().data());
- ui->textRead->setText("客户端:");
- ui->textRead->append(str);
- }
- void ClientWidget::on_ButtonClose_clicked()
- {
- tcpsocket->disconnectFromHost();
- tcpsocket->close();
- }