资料介绍
软件简介
VNanoMsg是Android下的Socket通讯库,对NanoMsg的二次封装,仿照NNanoMsg的第三方开源库。
使用方法
添加依赖项
在build.gradle中加入VNanoMsg的引用
核心函数
创建对应的通讯模式
绑定地址(服务端)
//绑定地址 地址要写全如上 tcp://加地址 //返回是 bool ture是成功 false是失败 var res = nn.bind("tcp://*:8080")
连接服务端
//连接服务端 地址要写全如上 tcp://加地址 //返回是 bool ture是成功 false是失败 var res = nn.connect("tcp://localhost:8080")
发送数据
//发送数据 String //返回值:发送的字节数 Int var res = nn.send("你好") //发送数据 ByteArray //返回值:发送的字节数 val msg = "你好" val bytes = msg.toByteArray() var res = nn.send(bytes)
接收数据
//接慢数据 //返回值:接收到字符串 String var res = nn.recv() //接收数据 //返回值:接收的数据 ByteArray var res = nn.recvbyte() val msg = res.toString(charset = Charsets.UTF_8)
设置/取消订阅前缀
==订阅消息只针对PUBSUB模式才有的参数==
//设置订阅前缀 //返回值:大于0成功,小于0失败 Int var res = nn.subscribe("输入要订阅的主题字符串") //取消订阅前缀 //返回值:大于0成功,小于0失败 Int var res = nn.unsubscribe("输入要取消订阅的主题字符串")
特别说明
==执行连接、发送、接收数据时需要加上try catch防止程序崩溃,因为在NDK中接收失败或是发送失败时我都会直接抛出异常来
==
简单例子
这里用的是REQREP的模式,别的模式就是在创建时设置对应的类即可。
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") } } } //发送按钮 btnSend.setOnClickListener { nnreqrep.let { try { val input = edtinput.text.toString() val bytes = input.toByteArray() //发送数据 it?.send(bytes) //延时50毫秒 Thread.sleep(50) //接收数据 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平台的个性通讯录
- 基于openharmony适配移植的Socket通讯教程 3次下载
- 库卡机器人Ethernet/IP通讯设置手册 18次下载
- C++ Socket网络编程大全源代码下载 27次下载
- 如何使用Socket实现TCP和UDP的原理探索 9次下载
- 使用Socket通讯机制实现QUEST仿真系统与管理信息系统的数据交换论文 10次下载
- SOCKET入门最简单的程序免费下载
- 如何使用android socket连接openwrt与arduino单片机串口双向通信
- 如何进行socket集群详细方案资料说明 17次下载
- 如何使用socket进行双机通讯
- Android游戏库的安全性分析与验证 3次下载
- Android Studio学习教程(电子书+源码)资料下载 0次下载
- Android开发的各大网络请求库实际案例 4次下载
- 基于jdbc数据库与Android的餐厅智能管理系统 17次下载
- socket 370 cpu主板电路图
- socket 客户端与服务器的实现 373次阅读
- socket 发送和接收数据方法 604次阅读
- socket 网络通信协议解析 818次阅读
- socket 编程基础入门 393次阅读
- C语言中的socket编程基础 397次阅读
- 如何在Python中使用socket 259次阅读
- KUKA机器人socket通讯配置方法 817次阅读
- Socket缓存究竟如何影响TCP的性能 1707次阅读
- 基于Android客户端和数据同步技术实现移动点餐系统的应用方案 4920次阅读
- 基于TCP/IP网络协议和SOCKET接口实现组态软件通讯模块的设计 3924次阅读
- 如何实现ABB机器人和视觉系统间的TCP/IP通讯呢? 2.2w次阅读
- ABB机器人如何与相机详细方法通讯图文讲解 1.6w次阅读
- android允许读写访问及各种权限说明 6606次阅读
- 一切皆Socket!Socket是什么? 5329次阅读
- Android中实现简单的新闻列表 3831次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论