C#中的蓝牙GUID

3
我使用C#.Net (feet32 lib)构建蓝牙服务器/客户端工具。我遵循了https://www.youtube.com/watch?v=Xxnpq6ePQMk的指示,但是我遇到了GUID的问题。在我输入从我的笔记本电脑获取的蓝牙GUID(设备管理器->双击您的蓝牙设备以打开其属性->详细信息->类GUID)后,它仍然无法连接。我不确定我获取GUID的方法是否正确,或者是否存在其他问题?谢谢!
Guid mUUID = new Guid("e0cbf06c-cd8b-4647-bb8a-263b43f0f974");
// Guid mUUID = new Guid("be5ef05c-288d-45d7-b786-eb8e0b0d67cc");
bool serverStarted = false;

public void ServerConnectThread()
{
    serverStarted = true;
    updateUI("server started, wait for client");
    BluetoothListener blueListener = new BluetoothListener(mUUID);
    blueListener.Start();
    BluetoothClient conn = blueListener.AcceptBluetoothClient();
    updateUI("Client has connected");
    Stream mStream = conn.GetStream();
    while (true)
    {
        //handle server connection
        byte[] received = new byte[1024];
        mStream.Read(received, 0, received.Length);
        updateUI("Received:" + Encoding.ASCII.GetString(received));
    }
}
2个回答

3

正确的GUID不是类GUID,而是其蓝牙服务GUID,您可以从与类GUID相同的列表中看到它。类GUID和蓝牙服务GUID是不同的。


谢谢!我查看了列表并找到了类GUID。但是,我没有找到“蓝牙服务GUID”这一项,如果可能的话,您能告诉我列表中“蓝牙服务GUID”的名称吗? - QuickLearner
00001101-0000-1000-8000-00805F9B34FB,但此GUID适用于串口设备。我不知道您使用的是什么类型的设备。 - oziomajnr
这个ID在我的笔记本上无法使用,我的设备是惠普Elitebook Folio 1040。蓝牙是英特尔无线蓝牙7265。谢谢。 - QuickLearner
正如您所提到的,我已经尝试了00001101-0000-1000-8000-00805F9B34FB,但它并没有起作用,我不知道在我的Windows系统中哪里可以找到正确的蓝牙GUID? - QuickLearner
好的。要进行蓝牙连接,您需要两个设备。您正在尝试连接的另一个设备是什么?Guid似乎不是问题。Guid只是用作设备的标识符。您可以通过转到Visual Studio >工具>创建guid来创建自己的Guid。但请确保在两个设备上使用相同的guid。而且连接到蓝牙设备应该基于名称而不是guid。因此,请尝试阅读库的文档并了解如何正确连接。 - oziomajnr
明白了,非常感谢! - QuickLearner

0
Guid mUUID = BluetoothService.SerialPort;

试试这个替代方案


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