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直接套接字的高级协议?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

数据结构

数据结构

霍罗威茨 / 机械工业出版社 / 2006-7-1 / 48.00元

《数据结构》(C语言版)针对采用ANSI C实现数据结构进行了全面的描述和深入的讨论。书中详细讨论了栈、队列、链表以及查找结构、高级树结构等功能,对裴波那契堆、伸展树、红黑树、2-3树、2-3-4树、二项堆、最小-最大堆、双端堆等新的数据结构进行了有效分析。《数据结构》(C语言版)对一些特殊形式的堆结构,诸如应用在双端优先队列中的最小-最大堆和双端堆的数据结构以及左高树、裴波那契堆、二项堆等数据结......一起来看看 《数据结构》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

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

HEX CMYK 互转工具