蓝牙协议是什么?

24

好的,这可能只是一个愚蠢的问题,但我想知道蓝牙是否遵循TCP或UDP协议?根据我对网络协议的了解(不是很多),我会说它没有遵循这两种协议之一,而是存在一些特定的蓝牙协议。我还有一个问题......新iPhone OS 3.0中GameKit中的蓝牙功能遵循什么协议?我还没有完全看完苹果文档中的每个单词,但到目前为止,我还没有找到它。

5个回答

27

TCP和UDP是传输层协议,而蓝牙则是一种更低级别的协议。因此您可以在蓝牙上使用TCP或UDP,就像您在以太网上使用TCP和UDP一样。


好的,谢谢。我不知道蓝牙属于OSI模型的哪一层。 - Josh Bradley

8

蓝牙协议栈包括其自己的传输协议:L2CAP和RFCOMM,其中RFCOMM链接使用L2CAP层。您可以通过在RFCOMM链接上封装UDP数据包来在蓝牙上进行一些IP隧道。

Gamekit会为您隐藏蓝牙堆栈,但我猜测它使用SDP进行对等体发现,并使用RFCOMM链接进行通信。


确实如此。我发现在蓝牙上使用TCP的唯一方法是使用RFCOMM上的PPP。 - codekaizen

3
不确定。我不能确定iPhone默认使用哪种协议,但我至少在通过RFCOMM协议与PC和手机通信方面有一些工作经验。

我们引用了同一篇文章,但得出了相反的结果。 :) - Matthew Flaschen
http://en.wikipedia.org/wiki/Bluetooth_protocols(“真正”的协议页面)根本没有提到TCP / UDP。(好吧,它确实提到了TCP,但是它是错误的)。 - Mark Rushakoff

0

将蓝牙堆栈类比于典型的基于TCP/IP的OSI堆栈。如果您进一步阅读蓝牙协议栈和架构,您会看到与OSI堆栈映射的相似之处。就像您可能知道的传统OSI层一样,您有L2等效层、传输层、会话和应用程序等。

如果您考虑TCP层,则在蓝牙上查看L2CAP层。请参考蓝牙维基百科以获得更好的理解。

此外,多年前我参考过这本书 - http://www.amazon.com/Bluetooth-Operation-Use-Robert-Morrow/dp/007138779X


0

两个设备之间的正常通信是通过使用RFCOMM(无线电频率通信)和L2Cap。根据我的猜测,iPhone使用的协议可能是A2DPAVRCP


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接