本文整理汇总了C++中QUdpSocket::deleteLater方法的典型用法代码示例。如果您正苦于以下问题:C++ QUdpSocket::deleteLater方法的具体用法?C++ QUdpSocket::deleteLater怎么用?C++ QUdpSocket::deleteLater使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QUdpSocket
的用法示例。
在下文中一共展示了QUdpSocket::deleteLater方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bind
bool ServerPool::bind(QList<QHostAddress> addrs, quint16 port,
bool requireall)
{
m_port = port;
QList<QHostAddress>::const_iterator it;
for (it = addrs.begin(); it != addrs.end(); ++it)
{
QUdpSocket *socket = new QUdpSocket(this);
connect(socket, SIGNAL(readyRead()),
this, SLOT(newUdpDatagram()));
if (socket->bind(*it, port))
{
LOG(VB_GENERAL, LOG_INFO, QString("Binding to UDP %1:%2")
.arg(PRETTYIP(it)).arg(port));
m_udpSockets.append(socket);
}
else if (requireall)
{
LOG(VB_GENERAL, LOG_ERR, QString("Failed binding to UDP %1:%2")
.arg(PRETTYIP(it)).arg(port));
close();
socket->disconnect();
socket->deleteLater();
return false;
}
else
{
LOG(VB_GENERAL, LOG_WARNING, QString("Failed binding to UDP %1:%2")
.arg(PRETTYIP(it)).arg(port));
socket->disconnect();
socket->deleteLater();
}
}
if (m_udpSockets.size() == 0)
return false;
m_listening = true;
return true;
}
示例2: onClientDisconnected
void UdpRelay::onClientDisconnected()
{
QUdpSocket *client = qobject_cast<QUdpSocket *>(sender());
if (!client) {
emit info("Fatal. A false object calling onClientDisconnected.");
return;
}
cache.remove(cache.key(client));
client->deleteLater();
emit debug("[UDP] A client connection is disconnected and destroyed.");
}
示例3: SendMessage
bool Myth::SendMessage( const QString &sMessage,
const QString &sAddress,
int udpPort,
int Timeout)
{
bool bResult = false;
if (sMessage.isEmpty())
return bResult;
if (Timeout < 0 || Timeout > 999)
Timeout = 0;
QString xmlMessage =
"<mythmessage version=\"1\">\n"
" <text>" + sMessage + "</text>\n"
" <timeout>" + QString::number(Timeout) + "</timeout>\n"
"</mythmessage>";
QHostAddress address = QHostAddress::Broadcast;
unsigned short port = 6948;
if (!sAddress.isEmpty())
address.setAddress(sAddress);
if (udpPort != 0)
port = udpPort;
QUdpSocket *sock = new QUdpSocket();
QByteArray utf8 = xmlMessage.toUtf8();
int size = utf8.length();
if (sock->writeDatagram(utf8.constData(), size, address, port) < 0)
{
LOG(VB_GENERAL, LOG_ERR,
QString("Failed to send UDP/XML packet (Message: %1 "
"Address: %2 Port: %3")
.arg(sMessage).arg(sAddress).arg(port));
}
else
{
LOG(VB_GENERAL, LOG_DEBUG,
QString("UDP/XML packet sent! (Message: %1 Address: %2 Port: %3")
.arg(sMessage)
.arg(address.toString().toLocal8Bit().constData()).arg(port));
bResult = true;
}
sock->deleteLater();
return bResult;
}
示例4: SendMessage
static int SendMessage(const MythUtilCommandLineParser &cmdline)
{
QHostAddress address = QHostAddress::Broadcast;
unsigned short port = 6948;
QString message = kMessage;
if (cmdline.toBool("udpport"))
port = (unsigned short)cmdline.toUInt("udpport");
if (cmdline.toBool("bcastaddr"))
address.setAddress(cmdline.toString("bcastaddr"));
QMap<QString,QString>::const_iterator i;
QMap<QString,QString> extras = cmdline.GetExtra();
for (i = extras.begin(); i != extras.end(); ++i)
{
QString name = i.key();
QString value = i.value();
name.replace("--", "");
cerr << "name: " << name.toLocal8Bit().constData()
<< " -- value: " << value.toLocal8Bit().constData() << endl;
name.append("%");
name.prepend("%");
message.replace(name, value);
}
cout << "output:\n" << message.toLocal8Bit().constData() << endl;
QUdpSocket *sock = new QUdpSocket();
QByteArray utf8 = message.toUtf8();
int result = GENERIC_EXIT_OK;
if (sock->writeDatagram(utf8, address, port) < 0)
{
cout << "Failed to send UDP/XML packet" << endl;
result = GENERIC_EXIT_NOT_OK;
}
else
{
cout << "Sent UDP/XML packet to IP "
<< address.toString().toLocal8Bit().constData()
<< " and port: " << port << endl;
}
sock->deleteLater();
return result;
}
示例5: close
void ServerPool::close(void)
{
QTcpServer *server;
while (!m_tcpServers.isEmpty())
{
server = m_tcpServers.takeLast();
server->disconnect();
server->close();
server->deleteLater();
}
QUdpSocket *socket;
while (!m_udpSockets.isEmpty())
{
socket = m_udpSockets.takeLast();
socket->disconnect();
socket->close();
socket->deleteLater();
}
m_listening = false;
}
示例6: SendNotification
bool Myth::SendNotification( bool bError,
const QString &Type,
const QString &sMessage,
const QString &sOrigin,
const QString &sDecription,
const QString &sImage,
const QString &sExtra,
const QString &sProgressText,
float fProgress,
int Duration,
bool bFullscreen,
uint Visibility,
uint Priority,
const QString &sAddress,
int udpPort )
{
bool bResult = false;
if (sMessage.isEmpty())
return bResult;
if (Duration < 0 || Duration > 999)
Duration = -1;
QString xmlMessage =
"<mythnotification version=\"1\">\n"
" <text>" + sMessage + "</text>\n"
" <origin>" + (sOrigin.isNull() ? tr("MythServices") : sOrigin) + "</origin>\n"
" <description>" + sDecription + "</description>\n"
" <timeout>" + QString::number(Duration) + "</timeout>\n"
" <image>" + sImage + "</image>\n"
" <extra>" + sExtra + "</extra>\n"
" <progress_text>" + sProgressText + "</progress_text>\n"
" <progress>" + QString::number(fProgress) + "</progress>\n"
" <fullscreen>" + (bFullscreen ? "true" : "false") + "</fullscreen>\n"
" <visibility>" + QString::number(Visibility) + "</visibility>\n"
" <priority>" + QString::number(Priority) + "</priority>\n"
" <type>" + (bError ? "error" : Type) + "</type>\n"
"</mythnotification>";
QHostAddress address = QHostAddress::Broadcast;
unsigned short port = 6948;
if (!sAddress.isEmpty())
address.setAddress(sAddress);
if (udpPort != 0)
port = udpPort;
QUdpSocket *sock = new QUdpSocket();
QByteArray utf8 = xmlMessage.toUtf8();
int size = utf8.length();
if (sock->writeDatagram(utf8.constData(), size, address, port) < 0)
{
LOG(VB_GENERAL, LOG_ERR,
QString("Failed to send UDP/XML packet (Notification: %1 "
"Address: %2 Port: %3")
.arg(sMessage).arg(sAddress).arg(port));
}
else
{
LOG(VB_GENERAL, LOG_DEBUG,
QString("UDP/XML packet sent! (Notification: %1 Address: %2 Port: %3")
.arg(sMessage)
.arg(address.toString().toLocal8Bit().constData()).arg(port));
bResult = true;
}
sock->deleteLater();
return bResult;
}
示例7: main
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QCoreApplication::setApplicationName("mythmessage");
QHostAddress address = QHostAddress::Broadcast;
unsigned short port = 6948;
QString message = kMessage;
bool verbose = false;
MythMessageCommandLineParser cmdline;
if (!cmdline.Parse(argc, argv))
{
cmdline.PrintHelp();
return GENERIC_EXIT_INVALID_CMDLINE;
}
if (cmdline.toBool("showhelp"))
{
cmdline.PrintHelp();
return GENERIC_EXIT_OK;
}
if (cmdline.toBool("showversion"))
{
cmdline.PrintVersion();
return GENERIC_EXIT_OK;
}
if (cmdline.toBool("printtemplate"))
{
cerr << kMessage.toLocal8Bit().constData() << endl;
return GENERIC_EXIT_OK;
}
if (cmdline.toBool("verbose"))
verbose = true;
if (cmdline.toBool("port"))
port = (unsigned short)cmdline.toUInt("port");
if (cmdline.toBool("addr"))
address.setAddress(cmdline.toString("addr"));
QMap<QString,QString>::const_iterator i;
QMap<QString,QString> extras = cmdline.GetExtra();
for (i = extras.begin(); i != extras.end(); ++i)
{
QString name = i.key();
QString value = i.value();
name.replace("--", "");
if (verbose)
cerr << "name: " << name.toLocal8Bit().constData()
<< " -- value: " << value.toLocal8Bit().constData() << endl;
name.append("%");
name.prepend("%");
message.replace(name, value);
}
if (verbose)
cout << "output:\n" << message.toLocal8Bit().constData() << endl;
QUdpSocket *sock = new QUdpSocket();
QByteArray utf8 = message.toUtf8();
if (sock->writeDatagram(utf8, address, port) < 0)
{
cout << "Failed to send UDP/XML packet" << endl;
}
else
{
cout << "Sent UDP/XML packet to IP "
<< address.toString().toLocal8Bit().constData()
<< " and port: " << port << endl;
}
sock->deleteLater();
return GENERIC_EXIT_OK;
}
示例8: main
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QHostAddress address = QHostAddress::Broadcast;
unsigned short port = 6948;
QString message = kMessage;
bool verbose = false;
if (a.argc() == 0)
{
printHelp();
return GENERIC_EXIT_OK;
}
for (int argpos = 1; argpos < a.argc(); ++argpos)
{
QString arg = a.argv()[argpos];
if (arg.startsWith("-h") || arg.startsWith("--help"))
{
printHelp();
return GENERIC_EXIT_OK;
}
}
for (int argpos = 1; argpos < a.argc(); ++argpos)
{
QString arg = a.argv()[argpos];
if (arg.startsWith("--help") || arg.startsWith("--template"))
continue;
if (arg.startsWith("--verbose"))
{
verbose = true;
continue;
}
if (arg.startsWith("--udpport"))
{
port = arg.section("=", 1).toUShort();
if (port == 0)
port = 6948;
continue;
}
if (arg.startsWith("--bcastaddr"))
{
QString newaddr = arg.section("=", 1);
if (!newaddr.isEmpty())
address.setAddress(newaddr);
continue;
}
QString name = arg.section("=", 0, 0);
name.replace("--", "");
QString value = QString::fromLocal8Bit(
arg.section("=", 1).toLocal8Bit());
if (verbose)
{
QByteArray tmp_name = name.toLocal8Bit();
QByteArray tmp_value = value.toLocal8Bit();
cerr << "name: " << tmp_name.constData()
<< " -- value: " << tmp_value.constData() << endl;
}
name.append("%");
name.prepend("%");
message.replace(name, value);
}
if (verbose)
{
QByteArray tmp_message = message.toLocal8Bit();
cout << "output:\n" << tmp_message.constData() << endl;
}
QUdpSocket *sock = new QUdpSocket();
QByteArray utf8 = message.toUtf8();
int size = utf8.length();
if (sock->writeDatagram(utf8.constData(), size, address, port) < 0)
{
VERBOSE(VB_IMPORTANT, "Failed to send UDP/XML packet");
}
else
{
cout << "Sent UDP/XML packet to IP "
<< address.toString().toLocal8Bit().constData()
<< " and port: " << port << endl;
}
sock->deleteLater();
return GENERIC_EXIT_OK;
//.........这里部分代码省略.........