代码拉取完成,页面将自动刷新
同步操作将从 c./SocketTool 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "udpsocketwidget.h"
#include "ui_udpsocketwidget.h"
#include "stdafx.h"
UdpSocketWidget::UdpSocketWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::UdpSocketWidget)
{
ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
setAttribute(Qt::WA_ShowModal);
setWindowFlags(Qt::Tool);
QIntValidator* portValidator = new QIntValidator(1, 65535, this);
ui->lineEditPort->setValidator(portValidator);
ui->lineEditPort->setText("60000");
ui->comboBox->addItem(tr("Any-address"), "");
QList<QHostAddress> hostAddressList = QNetworkInterface::allAddresses();
foreach (QHostAddress address, hostAddressList)
{
ui->comboBox->addItem(address.toString(), address.toString());
}
}
UdpSocketWidget::~UdpSocketWidget()
{
delete ui;
}
void UdpSocketWidget::on_pushButtonOk_clicked()
{
int port = ui->lineEditPort->text().toInt();
if (ui->lineEditPort->text().isEmpty() || port <= 0)
return;
QString hostAddress = ui->comboBox->currentData().toString();
QObject *p = parent();
if (p != nullptr)
{
QUdpSocket* udpSocket = new QUdpSocket(p);
if (udpSocket->bind(hostAddress.isEmpty() ? QHostAddress::Any : QHostAddress(hostAddress), port))
{
emit udpSocketCreated(udpSocket);
close();
}
else
{
QString error = QString("Create socket failed! %1").arg(udpSocket->errorString());
QMessageBox::critical(this, tr("Error"), error);
udpSocket->deleteLater();
}
}
}
void UdpSocketWidget::on_pushButtonCancel_clicked()
{
close();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。