0

这适用于所有了解使用 32feet.net / InTheHand 进行蓝牙编程的来龙去脉的人

我正在使用 32feet.net 3.5.0.3 的 InTheHand.Net.Personal.dll 在 vb.net 2008 中的 PC 上的 Windows 8 下进行编码

我的目标:通过蓝牙将我的 PC 连接到我的 Samsung Galaxy S6 Android 6.0.1 (Marshmallow) 并将文件复制到手机。

这就是我正在编码的内容:

(...)
Imports InTheHand.Net
Private Sub demo()
  Dim peer As Sockets.BluetoothDeviceInfo
  Dim req As ObexWebRequest
  For Each peer In New Sockets.BluetoothClient().DiscoverDevices()
        If peer.DeviceName = "MyGalaxyPhone" Then
            req = New ObexWebRequest _
                 (peer.DeviceAddress, _
                  "obex://c:/users/admin/documents")
            req.ReadFile("c:\users\admin\documents\test.txt")
            req.GetResponse()
            Exit For
        End If
  Next
End Sub
(...)

req.GetResponse我收到一个异常说 System.Net.WebException {Connect failed}

当我尝试使用 1105 获取受支持的服务时,peer.InstalledServices我得到了 1105,但不是 1106,这似乎是 OBEX 所必需的。据我从文档中了解到,1105 用于 OPP。但是我不知道如何调用任何 OPP 函数。

任何帮助表示赞赏。

谢谢

S.罗伊

4

1 回答 1

0

我显然不知道我在做什么。在我上面的代码中,我写道:

req = New ObexWebRequest _
             (peer.DeviceAddress, _
              "obex://c:/users/admin/documents")

这是行不通的。它应该说:

req = New ObexWebRequest _
             (peer.DeviceAddress, _
              "obex://" + peer.DeviceAddress.ToString + "/test.txt")

这行得通。

问候

于 2016-12-12T13:45:13.450 回答