Я новичок в связи Bluetooth с использованием Java.Глядя на документацию по bluecove, я сделал следующее, чтобы иметь возможность связаться с устройством Bluetooth:
- Discover It
- Получить
StreamConnection
через Connector.open` - Используйте
InputStream
и OutputStream
для связи
Единственное, что я не нашел в документации, это как закрыть связь.
КодЯ реализовал, догадываясь о стратегии отключения, следующее:
public void Connect() throws IOException
{
final int service = 5;
String conString = "btspp://"+Dev.getBluetoothAddress()+":"+service;
Connection = (StreamConnection) Connector.open(conString);
inStream = Connection.openInputStream();
outStream = Connection.openOutputStream();
}
public void Disconnect() throws IOException
{
Connection.close();
}
Dev
- это RemoteDevice
, полученный от Discovery.
Когда вызов функции Connect происходит после Disconnect, я всегда получаю следующее исключение:
javax.bluetooth.BluetoothConnectionException: Failed to connect; [10048] Only one usage of each socket address (protocol/network address/port) is normally permitted.
Может кто-нибудь сказать мне, как закрыть соединение?