QT Udp組播(穿透)


    局域網內的兩台機器如果隔有路由器,那么這兩台機器之間不能進行廣播通信,但是我們可以換成組播的通信的方式,達到相互通信的效果。

一 服務器端

QUdpSocket udp_socket; udp_socket.bind(QHostAddress::Any, udp_listen_port, QUdpSocket::ReuseAddressHint); QHostAddress mcast_addr("224.0.0.17"); udp_socket.setSocketOption(QAbstractSocket::MulticastLoopbackOption, 0);//禁止本機接收 udp_socket.joinMulticastGroup(mcast_addr);//這句是關鍵,加入組播地址

    至此,我們已經完成了服務器的綁定並加入了組播組的工作。

 

二 客戶端

QHostAddress mcast_addr("224.0.0.17");//組播地址與服務器相同 QUdpSocket udp_socket; udp_socket.writeDatagram(datagram, mcast_addr, UDP_SEND_PORT);//向服務器發送數據(UDP_SEND_PORT與服務器的監聽端口相同)

 

http://www.tuicool.com/articles/zUJVBj


免責聲明!

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



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