我有一个正在运行的蓝牙服务器(Android应用程序)。我想设置一个特定的蓝牙端口以供收听。这样做的原因是,客户端连接大约需要10-15秒,因为它需要首先发现服务器(我进行扫描)。
创建服务器的代码如下:
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
UUID my_uuid = UUID.fromString("12345678-f6ff-4f6f-1f1f-f8f8f8fffff8");
try {
BluetoothServerSocket serverSocket = adapter.listenUsingRfcommWithServiceRecord("myBluetoothServer", my_uuid);
sock1 = serverSocket.accept();
i_s = sock1.getInputStream();
o_s = new OutputStreamWriter(socket.getOutputStream());
new Thread(writter).start();
...
问题:如何为服务器指定固定端口号?
我一直在这里看,但是不容易找到: https://developer.android.com/reference/android/bluetooth/BluetoothSocket?hl=ur
我正在寻找类似serverSocket.setPort(myPortNumber)(伪代码)
答案 0 :(得分:0)
由于蓝牙套接字不是常规的TCP / IP套接字,因此不存在端口的概念。它们只是被抽象为具有类似行为。
从代码中可以看出,您指定的是一个UUID,它是服务标识符。连接到蓝牙服务器的过程如下: