【问题标题】:Bluetooth Protocol?蓝牙协议?
【发布时间】:2010-11-06 00:13:40
【问题描述】:

好吧,这可能只是一个愚蠢的问题,但我想知道蓝牙是遵循 TCP 还是 UDP 协议?根据我对网络协议的了解(不多),我会说它不遵循这两者中的任何一个,并且存在某种特定的蓝牙协议。我还有一个问题……新 iPhone OS 3.0 的 GameKit 中的蓝牙功能遵循什么协议?苹果文档的每一个字我都没有仔细看过,但是到目前为止,我还没有找到。

【问题讨论】:

    标签: bluetooth protocols network-protocols


    【解决方案1】:

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

    如果您正在考虑 TCP 层,那么您正在考虑蓝牙上的 L2CAP 层。请跟进蓝牙 wiki,让您更好地了解。

    此外,我几年前就提到过这本书—— http://www.amazon.com/Bluetooth-Operation-Use-Robert-Morrow/dp/007138779X

    【讨论】:

      【解决方案2】:

      两个设备之间的正常通信是使用RFCOMM(射频通信)和L2Cap。根据我的猜测,iphone 使用的协议是 A2DPAVRCP

      【讨论】:

        【解决方案3】:

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

        Gamekit 对您隐藏了蓝牙堆栈,但我猜它使用 SDP 进行对等点发现并使用 RFCOMM 链接进行它们之间的通信。

        【讨论】:

        • 确实如此。我发现通过蓝牙使用 TCP 的唯一方法是通过 RFCOMM 使用 PPP。
        【解决方案4】:

        TCP 和 UDP 是传输层协议,而蓝牙是低层协议。因此,您可以在蓝牙上使用 TCP 或 UDP,就像在以太网上使用 TCP 和 UDP。

        【讨论】:

        • 好的,谢谢。不知道OSI模型蓝牙落在了哪一层。
        【解决方案5】:

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

        【讨论】:

        • 我们都引用了同一篇文章,结果相反。 :)
        • en.wikipedia.org/wiki/Bluetooth_protocols(“真正的”协议页面)根本没有提到 TCP/UDP。 (它确实提到了 TCP,但它是错误的)。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-19
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多