Bluetooth -> Winapi/32 футов. Два соединения с ПК на одно устройство с использованием Spp
Можно ли установить два (или более) соединения между ПК и другим устройством? Когда я пытаюсь это сделать, я получаю исключение: 10048 -> ex.Message = "Был сделан запрос на подключение к уже подключенному сокету xxxxxxxxxxxx:0000110100001000800000805f9b34fb". Если нет, есть ли какое-то решение? Я использовал библиотеку 32 футов, чтобы написать приложение.
3 ответа
Я только что подключил 4 устройства (spp) одновременно и периодически передавал данные.
так что это определенно возможно.
если одно устройство отключено, другое соединение не может больше получать данные, но я думаю, это просто ошибка в моем коде.
было бы очень интересно, если бы кто-то еще попробовал это.
Это ограничение RFCOMM, а не ограничение нижних уровней стека Bluetooth. См. Обходной путь, описанный в документации 32feet.NET https://32feet.codeplex.com/wikipage?title=General%20Bluetooth%20Data%20Connections
- Заметки
[1] Одно соединение RFCOMM является ограничением протокола. TCP/IP имеет номера портов на концах источника и назначения и, следовательно, может поддерживать несколько соединений, RFCOMM имеет только номер удаленного канала, поэтому может поддерживать только одно соединение.
Если вам требуется несколько соединений и вы управляете устройством "сервер", тогда сервис должен прослушивать два (или более) канала RFCOMM, чтобы клиент мог подключаться к разным номерам каналов.
Я думаю, это невозможно. Может существовать одна связь между ведущим и ведомым. Мастер может быть одновременно подключен к 7 активным рабам.
И, скорее всего, другое устройство, которое вы используете, может поддерживать только одно соединение. В вашем случае можно подключить до 7 устройств к вашему компьютеру.