資料介紹
軟件簡(jiǎn)介
VNanoMsg是Android下的Socket通訊庫(kù),對(duì)NanoMsg的二次封裝,仿照NNanoMsg的第三方開(kāi)源庫(kù)。
使用方法
添加依賴(lài)項(xiàng)
在build.gradle中加入VNanoMsg的引用
核心函數(shù)
創(chuàng)建對(duì)應(yīng)的通訊模式
綁定地址(服務(wù)端)
//綁定地址 地址要寫(xiě)全如上 tcp://加地址 //返回是 bool ture是成功 false是失敗 var res = nn.bind("tcp://*:8080")
連接服務(wù)端
//連接服務(wù)端 地址要寫(xiě)全如上 tcp://加地址 //返回是 bool ture是成功 false是失敗 var res = nn.connect("tcp://localhost:8080")
發(fā)送數(shù)據(jù)
//發(fā)送數(shù)據(jù) String //返回值:發(fā)送的字節(jié)數(shù) Int var res = nn.send("你好") //發(fā)送數(shù)據(jù) ByteArray //返回值:發(fā)送的字節(jié)數(shù) val msg = "你好" val bytes = msg.toByteArray() var res = nn.send(bytes)
接收數(shù)據(jù)
//接慢數(shù)據(jù) //返回值:接收到字符串 String var res = nn.recv() //接收數(shù)據(jù) //返回值:接收的數(shù)據(jù) ByteArray var res = nn.recvbyte() val msg = res.toString(charset = Charsets.UTF_8)
設(shè)置/取消訂閱前綴
==訂閱消息只針對(duì)PUBSUB模式才有的參數(shù)==
//設(shè)置訂閱前綴 //返回值:大于0成功,小于0失敗 Int var res = nn.subscribe("輸入要訂閱的主題字符串") //取消訂閱前綴 //返回值:大于0成功,小于0失敗 Int var res = nn.unsubscribe("輸入要取消訂閱的主題字符串")
特別說(shuō)明
==執(zhí)行連接、發(fā)送、接收數(shù)據(jù)時(shí)需要加上try catch防止程序崩潰,因?yàn)樵贜DK中接收失敗或是發(fā)送失敗時(shí)我都會(huì)直接拋出異常來(lái)
==
簡(jiǎn)單例子
這里用的是REQREP的模式,別的模式就是在創(chuàng)建時(shí)設(shè)置對(duì)應(yīng)的類(lèi)即可。
class REQREPActivity : AppCompatActivity() {
private var nnreqrep: NNREQREP? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_reqrep)
//連接按鈕
btnConnent.setOnClickListener {
if (nnreqrep == null) {
nnreqrep = NNREQREP()
}
nnreqrep.let {
try {
if (it?.connect(edtipadr.text.toString())!!) {
tvmsg.append("REQREP連接成功!\r\n")
} else {
tvmsg.append("REQREP連接失敗!\r\n")
}
} catch (e: IllegalArgumentException) {
tvmsg.append(e.message.toString() + "\r\n")
}
}
}
//發(fā)送按鈕
btnSend.setOnClickListener {
nnreqrep.let {
try {
val input = edtinput.text.toString()
val bytes = input.toByteArray()
//發(fā)送數(shù)據(jù)
it?.send(bytes)
//延時(shí)50毫秒
Thread.sleep(50)
//接收數(shù)據(jù)
val recvbyte = it?.recvbyte()
val recvmsg = recvbyte?.toString(charset = Charsets.UTF_8)
tvmsg.append(recvmsg + "\r\n")
} catch (e: IllegalArgumentException) {
tvmsg.append(e.message.toString() + "\r\n")
}
}
}
}
}
- 基于Android平臺(tái)的個(gè)性通訊錄
- 基于openharmony適配移植的Socket通訊教程 3次下載
- 庫(kù)卡機(jī)器人Ethernet/IP通訊設(shè)置手冊(cè) 18次下載
- C++ Socket網(wǎng)絡(luò)編程大全源代碼下載 27次下載
- 如何使用Socket實(shí)現(xiàn)TCP和UDP的原理探索 9次下載
- 使用Socket通訊機(jī)制實(shí)現(xiàn)QUEST仿真系統(tǒng)與管理信息系統(tǒng)的數(shù)據(jù)交換論文 10次下載
- SOCKET入門(mén)最簡(jiǎn)單的程序免費(fèi)下載
- 如何使用android socket連接openwrt與arduino單片機(jī)串口雙向通信
- 如何進(jìn)行socket集群詳細(xì)方案資料說(shuō)明 17次下載
- 如何使用socket進(jìn)行雙機(jī)通訊
- Android游戲庫(kù)的安全性分析與驗(yàn)證 3次下載
- Android Studio學(xué)習(xí)教程(電子書(shū)+源碼)資料下載 0次下載
- Android開(kāi)發(fā)的各大網(wǎng)絡(luò)請(qǐng)求庫(kù)實(shí)際案例 4次下載
- 基于jdbc數(shù)據(jù)庫(kù)與Android的餐廳智能管理系統(tǒng) 17次下載
- socket 370 cpu主板電路圖
- socket 客戶(hù)端與服務(wù)器的實(shí)現(xiàn) 373次閱讀
- socket 發(fā)送和接收數(shù)據(jù)方法 604次閱讀
- socket 網(wǎng)絡(luò)通信協(xié)議解析 818次閱讀
- socket 編程基礎(chǔ)入門(mén) 393次閱讀
- C語(yǔ)言中的socket編程基礎(chǔ) 397次閱讀
- 如何在Python中使用socket 259次閱讀
- KUKA機(jī)器人socket通訊配置方法 817次閱讀
- Socket緩存究竟如何影響TCP的性能 1707次閱讀
- 基于Android客戶(hù)端和數(shù)據(jù)同步技術(shù)實(shí)現(xiàn)移動(dòng)點(diǎn)餐系統(tǒng)的應(yīng)用方案 4920次閱讀
- 基于TCP/IP網(wǎng)絡(luò)協(xié)議和SOCKET接口實(shí)現(xiàn)組態(tài)軟件通訊模塊的設(shè)計(jì) 3924次閱讀
- 如何實(shí)現(xiàn)ABB機(jī)器人和視覺(jué)系統(tǒng)間的TCP/IP通訊呢? 2.2w次閱讀
- ABB機(jī)器人如何與相機(jī)詳細(xì)方法通訊圖文講解 1.6w次閱讀
- android允許讀寫(xiě)訪問(wèn)及各種權(quán)限說(shuō)明 6606次閱讀
- 一切皆Socket!Socket是什么? 5329次閱讀
- Android中實(shí)現(xiàn)簡(jiǎn)單的新聞列表 3831次閱讀
下載排行
本周
- 1PFC電路與BOOST電路設(shè)計(jì)實(shí)例分享
- 1.83 MB | 12次下載 | 4 積分
- 2世平基于靈動(dòng)微 SPIN560C 的低壓無(wú)刷電機(jī)應(yīng)用方案
- 10.93 MB | 11次下載 | 免費(fèi)
- 3電源測(cè)試報(bào)告-基于 國(guó)民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費(fèi)
- 4PWM控制器的控制方法
- 0.39 MB | 3次下載 | 4 積分
- 5電流檢測(cè)芯片F(xiàn)P135應(yīng)用說(shuō)明
- 1.24 MB | 3次下載 | 免費(fèi)
- 6全面解讀被動(dòng)式與主動(dòng)式PFC電路
- 1.27 MB | 1次下載 | 4 積分
- 7HC88L051F4低功耗芯片規(guī)格書(shū)
- 4.76 MB | 1次下載 | 免費(fèi)
- 8CIU32D655x5數(shù)據(jù)手冊(cè)
- 2.14 MB | 1次下載 | 免費(fèi)
本月
- 1常用電子元器件使用手冊(cè)
- 2.40 MB | 52次下載 | 免費(fèi)
- 2高功率密度碳化硅MOSFET軟開(kāi)關(guān)三相逆變器損耗分析
- 2.27 MB | 33次下載 | 10 積分
- 3PFC電路與BOOST電路設(shè)計(jì)實(shí)例分享
- 1.83 MB | 12次下載 | 4 積分
- 4世平基于靈動(dòng)微 SPIN560C 的低壓無(wú)刷電機(jī)應(yīng)用方案
- 10.93 MB | 11次下載 | 免費(fèi)
- 5電源測(cè)試報(bào)告-基于 國(guó)民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費(fèi)
- 6USB拓展塢PCB圖資料
- 0.57 MB | 11次下載 | 免費(fèi)
- 7MS1826 HDMI 多功能視頻處理器數(shù)據(jù)手冊(cè)
- 4.51 MB | 9次下載 | 免費(fèi)
- 8HAL9303線性霍爾效應(yīng)傳感器技術(shù)手冊(cè)
- 0.70 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191424次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81600次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論