QUdpSocket的用法:


Bind():

net_ = new NetImpl;

    auto ret = net_->sock->bind(conf.local_port);

    if (!ret)

    {

        /// bind to localaddress failed

        LOG(ERROR) << "bind to local address failed,port:" << conf.local_port;

        return EPlatError_Failed;

    }

Read():

  auto data = ptr->net_->sock->receiveDatagram();

            if (data.senderAddress().toIPv4Address() != QHostAddress(ptr->config_.remote_addr.c_str()).toIPv4Address())

            {

                continue;

讀之前可以先做判斷:

if (ptr->net_ != nullptr && ptr->net_->sock->hasPendingDatagrams())

Write():

auto cnt = net_->sock->writeDatagram((const char *)buf, len,

                                         QHostAddress(config_.remote_addr.c_str()), config_.remote_port);

Close();

    /// unbind socket

    net_->sock->close();

    delete net_;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM