demo下載地址:https://github.com/zhanglizzy/UdpSocketGetEquipment
一、使用場(chǎng)景:
項(xiàng)目需在局域網(wǎng)內(nèi)通過目標(biāo)ip和端口port查找對(duì)應(yīng)的一體機(jī)(智能設(shè)備)舌胶;
二、思路:
通過UDP協(xié)議使用socket發(fā)送廣播,查找后接收所有目標(biāo)設(shè)備的ip辆它。
三誊薄、代碼實(shí)現(xiàn):
1、實(shí)例化udp對(duì)象锰茉;
2呢蔫、啟動(dòng)本地端口;
3飒筑、發(fā)送與服務(wù)器約定的消息內(nèi)容片吊;
4、發(fā)送與服務(wù)器約定的端口协屡;
5俏脊、綁定端口開啟發(fā)送廣播;
6肤晓、開啟接收廣播(也需要綁定端口爷贫,若在開啟發(fā)送前統(tǒng)一將UDP對(duì)象socket進(jìn)行綁定端口,接收則可以無需再綁定);
7补憾、實(shí)現(xiàn)代理方法:
(1)發(fā)送成功漫萄;
(2)發(fā)送失敗盈匾;
(3)接收成功腾务;
(4)接收失敗削饵;
(5)關(guān)閉廣播窑睁。
8、主要依賴于AsyncUdpSocket處理葵孤。