java – 蓝牙/ WiFi直接套接字的高级协议?

栏目: Android · 发布时间: 5年前

内容简介:中使用蓝牙或WiFi Direct时,在所有握手等结束时,您最终会使用套接字.使用TCP / IP,我们在套接字之上有一个超过一个的库,用于高级协议:HTTP,XMPP,IMAP等.由于这些库,我们可以处理更多特定于域的抽象一个操作(例如,“下载此文件”),由库处理的低级套接字管道.问题:对于任何高级协议,是否已知通过Android的蓝牙和/或WiFi Direct层生成的套接字工作(或可能工作)?
当您在 Android

中使用蓝牙或WiFi Direct时,在所有握手等结束时,您最终会使用套接字.

使用TCP / IP,我们在套接字之上有一个超过一个的库,用于高级协议:HTTP,XMPP,IMAP等.由于这些库,我们可以处理更多特定于域的抽象一个操作(例如,“下载此文件”),由库处理的低级套接字管道.

问题:对于任何高级协议,是否已知通过Android的蓝牙和/或WiFi Direct层生成的套接字工作(或可能工作)?

现在,我对特定协议并不挑剔 – 我只是在寻找这种协议层的例子,以便为开发人员更轻松地使用这些类型的连接选项.

例如,看起来我可以为 OkHTTP 创建一个fork或附加组件,它使用套接字的替代源,我可能会创建一个执行相同操作的Java HTTP服务器.鉴于这些,应用程序开发人员将编写通过蓝牙或WiFi Direct进行交谈的HTTP应用程序(至少在客户端,编码应该是相当“自然”的感觉,一旦连接特定的配对和握手已经开始).

IOW,回到二十年前处理原始套接字感觉……

谢谢!

UPDATE

根据Kristopher Micinski对ZeroMQ答案的评论,我认为可能会有一些澄清.

更容易说出我不想要的东西:创建它们后我不想触摸套接字.更高级别的其他东西应该为我处理那些,加上处理我认为是“协议”的东西(例如,确定某些通信操作何时结束,超过套接字关闭).

大多数情况下,这是我的书.大多数关于低级套接字的书籍示例都是不现实的,例如“我们打开服务器的套接字并立即开始爆破表示要上传的图像的字节,然后在我们完成时关闭套接字”.虽然这些例子很有效,但你在现实生活中永远不会写出类似的东西:

>如果你真的在套接字级别工作,你将实现一些希望解决身份验证,错误处理等问题的协议,即使你自己滚动协议

>今天很少有开发人员直接使用套接字来进行互联网操作

现在,如果该层提供的协议是开发人员习惯的(例如,HTTP),或者即使他们没有使用它(例如,XMPP),也会很酷.而且我会满足于简单的场景(例如,N路支持很酷但不是必需的).在这方面,基于初步研究(由睡眠不足的大脑进行),ZeroMQ不是一个糟糕的选择.与XDPP堆栈相比,它缺乏一点“品牌识别”,可以使用任意套接字.但是从袖口上看似乎还能满足我正在寻找的东西.

我认识到这些堆栈将受到底层传输的限制(例如,蓝牙仅适用于N路,对于N的小值).而且我当然不想描绘 – 在这里或在我的书中 – 我描绘的任何解决方案都是基于套接字的通信的全部和最终结果.

我只是想要一些对实际使用更加真实的祷告.奖励积分如果它是我可以理解的东西,因为我一直使用更高级别的TCP / IP通信协议,所以我缺乏直接套接字操作的经验.


以上所述就是小编给大家介绍的《java – 蓝牙/ WiFi直接套接字的高级协议?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出Node.js

深入浅出Node.js

朴灵 / 人民邮电出版社 / 2013-12-1 / CNY 69.00

本书从不同的视角介绍了 Node 内在的特点和结构。由首章Node 介绍为索引,涉及Node 的各个方面,主要内容包含模块机制的揭示、异步I/O 实现原理的展现、异步编程的探讨、内存控制的介绍、二进制数据Buffer 的细节、Node 中的网络编程基础、Node 中的Web 开发、进程间的消息传递、Node 测试以及通过Node 构建产品需要的注意事项。最后的附录介绍了Node 的安装、调试、编码......一起来看看 《深入浅出Node.js》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具