BluetoothAPIs
От: Bekass  
Дата: 16.06.08 09:01
Оценка:
Есть задача передачи файлов с ПК на моб. устройства.
Приобрел БлуТуф адаптер, установил, пытаюсь связаться через BluetoothAPIs, но
hbf = BluetoothFindFirstDevice(&bdsp, &bdi);
возвращает 0, а DWORD dw = GetLastError(); ошибку 1722 THE RPC сервер не доступен.
Что это может быть ?
Есть ли иные способы?
Re: BluetoothAPIs
От: Lonely Dog Россия  
Дата: 16.06.08 09:04
Оценка:
Здравствуйте, Bekass, Вы писали:

B>Что это может быть ?

B>Есть ли иные способы?
С такой ошибкой не сталкивался. Однако могу сказать, что указанные функции работают только если используется Bluetooth-стек драйверов от MS. Если используются драйвера от другого производителя (Broadcom, ...), то эти API работать не будут. Кстати, код ошибки RPC server is unavaible может означать, что какой-то сервис не запущен.
Посмотрите, может дело в этом.
Re[2]: BluetoothAPIs
От: Bekass  
Дата: 16.06.08 09:07
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Здравствуйте, Bekass, Вы писали:


B>>Что это может быть ?

B>>Есть ли иные способы?
LD>С такой ошибкой не сталкивался. Однако могу сказать, что указанные функции работают только если используется Bluetooth-стек драйверов от MS. Если используются драйвера от другого производителя (Broadcom, ...), то эти API работать не будут. Кстати, код ошибки RPC server is unavaible может означать, что какой-то сервис не запущен.
LD>Посмотрите, может дело в этом.

Да нет, сервер запущен.
B>> Если используются драйвера от другого производителя (Broadcom, ...), то эти API работать не будут.
А как же тогда быть ?
Re[3]: BluetoothAPIs
От: quodum  
Дата: 16.06.08 11:51
Оценка:
Здравствуйте, Bekass, Вы писали:

B>>> Если используются драйвера от другого производителя (Broadcom, ...), то эти API работать не будут.

B>А как же тогда быть ?

1. Выяснить, что за стек.
2. Взять соответствующий SDK. Например, вот Видком.
Re[4]: BluetoothAPIs
От: Аноним  
Дата: 17.06.08 11:28
Оценка:
Здравствуйте, quodum, Вы писали:

Q>Здравствуйте, Bekass, Вы писали:


B>>>> Если используются драйвера от другого производителя (Broadcom, ...), то эти API работать не будут.

B>>А как же тогда быть ?

Q>1. Выяснить, что за стек.

Q>2. Взять соответствующий SDK. Например, вот Видком.

Все выяснил, нахожу устройства, все ОК.
Вопрос теперь в том, в каком направлении двигаться, чтоб передать файл на телефон ?

P.S.
Оч. срочно надо, проект горит
Re[5]: BluetoothAPIs
От: Bekass  
Дата: 17.06.08 15:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, quodum, Вы писали:


Q>>Здравствуйте, Bekass, Вы писали:


B>>>>> Если используются драйвера от другого производителя (Broadcom, ...), то эти API работать не будут.

B>>>А как же тогда быть ?

Q>>1. Выяснить, что за стек.

Q>>2. Взять соответствующий SDK. Например, вот Видком.

А>Все выяснил, нахожу устройства, все ОК.

А>Вопрос теперь в том, в каком направлении двигаться, чтоб передать файл на телефон ?

А>P.S.

А>Оч. срочно надо, проект горит


Подключился, соединился по OBEX
но на посылку
dataBuff[0] = OBEX_CONNECT;
*((unsigned short *)&dataBuff[1]) = htons((unsigned short)7);
dataBuff[3] = OBEX_VERSION;
dataBuff[4] = OBEX_CONNECT_FLAGS;
*((unsigned short *)&dataBuff[5]) = htons((unsigned short)MAX_PKT_SIZE);

Выдает ошибку C3 что соединение принято но недоступно !!!
Может кто подскажет ?
Re[6]: BluetoothAPIs
От: alsemm Россия  
Дата: 17.06.08 16:12
Оценка:
Здравствуйте, Bekass, Вы писали:

http://www.rsdn.ru/Forum/?mid=993138
Автор: alsemm
Дата: 18.01.05


Алексей
Re[7]: BluetoothAPIs
От: alsemm Россия  
Дата: 17.06.08 16:15
Оценка:
Здравствуйте, alsemm, Вы писали:

A>Здравствуйте, Bekass, Вы писали:


A>http://www.rsdn.ru/Forum/?mid=993138
Автор: alsemm
Дата: 18.01.05

Не ту ссылку вставил. http://rsdn.ru/forum/message/994989.1.aspx
Автор: Wolf1979
Дата: 19.01.05
— правильная ссылка

Алексей
Re[8]: BluetoothAPIs
От: Bekass  
Дата: 17.06.08 16:22
Оценка:
Здравствуйте, alsemm, Вы писали:

A>Здравствуйте, alsemm, Вы писали:


A>>Здравствуйте, Bekass, Вы писали:


A>>http://www.rsdn.ru/Forum/?mid=993138
Автор: alsemm
Дата: 18.01.05

A>Не ту ссылку вставил. http://rsdn.ru/forum/message/994989.1.aspx
Автор: Wolf1979
Дата: 19.01.05
— правильная ссылка


A>Алексей


Так в том то и дело все до момента посылки
BYTE dataBuff[MAX_SEND_BUFF_LEN];
BYTE recvBuff[MAX_RECV_BUFF_LEN];

dataBuff[0] = OBEX_CONNECT;
*((unsigned short *)&dataBuff[1]) = htons((unsigned short)7);
dataBuff[3] = OBEX_VERSION;
dataBuff[4] = OBEX_CONNECT_FLAGS;
*((unsigned short *)&dataBuff[5]) = htons((unsigned short)MAX_PKT_SIZE);

if (send(MySock, (const char*)dataBuff, 7, 0) == SOCKET_ERROR)
{
*iMyCode = -2;
*iSdkCode = WSAGetLastError();
return FALSE;
}

Работает, а вот при приеме первый байт должен быть А0 а у меня С3 — ошибка !!!

if ((recv(MySock, (char *)recvBuff, MAX_RECV_BUFF_LEN, 0) == SOCKET_ERROR)
|| (recvBuff[0] != OBEX_SUCCESS))
{
Re[9]: BluetoothAPIs
От: alsemm Россия  
Дата: 18.06.08 11:02
Оценка:
B>Так в том то и дело все до момента посылки
B> BYTE dataBuff[MAX_SEND_BUFF_LEN];
B> BYTE recvBuff[MAX_RECV_BUFF_LEN];

B> dataBuff[0] = OBEX_CONNECT;

B> *((unsigned short *)&dataBuff[1]) = htons((unsigned short)7);
B> dataBuff[3] = OBEX_VERSION;
B> dataBuff[4] = OBEX_CONNECT_FLAGS;
B> *((unsigned short *)&dataBuff[5]) = htons((unsigned short)MAX_PKT_SIZE);

B>if (send(MySock, (const char*)dataBuff, 7, 0) == SOCKET_ERROR)

B> {
B> *iMyCode = -2;
B> *iSdkCode = WSAGetLastError();
B> return FALSE;
B> }

B>Работает, а вот при приеме первый байт должен быть А0 а у меня С3 — ошибка !!!


B> if ((recv(MySock, (char *)recvBuff, MAX_RECV_BUFF_LEN, 0) == SOCKET_ERROR)

B> || (recvBuff[0] != OBEX_SUCCESS))
B> {
Поиграйте с размером пакета (MAX_PKT_SIZE) — мне в свое время помогало.

Алексей
Re[10]: BluetoothAPIs
От: Bekass  
Дата: 19.06.08 18:15
Оценка:
Здравствуйте, alsemm, Вы писали:

B>>Так в том то и дело все до момента посылки

B>> BYTE dataBuff[MAX_SEND_BUFF_LEN];
B>> BYTE recvBuff[MAX_RECV_BUFF_LEN];

B>> dataBuff[0] = OBEX_CONNECT;

B>> *((unsigned short *)&dataBuff[1]) = htons((unsigned short)7);
B>> dataBuff[3] = OBEX_VERSION;
B>> dataBuff[4] = OBEX_CONNECT_FLAGS;
B>> *((unsigned short *)&dataBuff[5]) = htons((unsigned short)MAX_PKT_SIZE);

B>>if (send(MySock, (const char*)dataBuff, 7, 0) == SOCKET_ERROR)

B>> {
B>> *iMyCode = -2;
B>> *iSdkCode = WSAGetLastError();
B>> return FALSE;
B>> }

B>>Работает, а вот при приеме первый байт должен быть А0 а у меня С3 — ошибка !!!


B>> if ((recv(MySock, (char *)recvBuff, MAX_RECV_BUFF_LEN, 0) == SOCKET_ERROR)

B>> || (recvBuff[0] != OBEX_SUCCESS))
B>> {
A>Поиграйте с размером пакета (MAX_PKT_SIZE) — мне в свое время помогало.

A>Алексей


А в каких диапазонах его ставить MAX_PKT_SIZE ?

И еще вопрос , при передаче устанавливаю:
dataBuff[0] = OBEX_PUT;
*((unsigned short *)&dataBuff[1]) = htons((unsigned short)(fileLen*2 + 6+5));
dataBuff[3] = OBEX_NAME;
*((unsigned short *)&dataBuff[4]) = htons((unsigned short)(fileLen*2 + 3+5));
............................
dataBuff[6 + (i*2)-2] = OBEX_LENGTH;
*((DWORD *)&dataBuff[7 + (i*2)-2]) = dwFileSize;

Но почему-то тел, команду C3- длина не понимает, пишет типа длина неизвестна?
Re[11]: BluetoothAPIs
От: alsemm Россия  
Дата: 19.06.08 20:30
Оценка:
B> А в каких диапазонах его ставить MAX_PKT_SIZE ?
64-1024

B>Но почему-то тел, команду C3- длина не понимает, пишет типа длина неизвестна?

Не знаю, по вашему огрызку кода ничего понять невозможно толком.

Алексей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.