Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> программирование Bluetooth, передать файл с ПК на КПК или мобилу 
:(
    Опции темы
Vladimir_Petrov
Дата 8.1.2007, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.1.2007

Репутация: нет
Всего: нет



Все нормально.
меня интересует именно этот вопрос, тем более он решен если. Бьюсь над ним уже несколько месяцев.
Нужно просто узнать необходимые условия для работы вышеописанного кода.
Думаю, я не один такой.
PM MAIL   Вверх
Vovik_ukr
Дата 24.6.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 12.11.2006
Где: Ukraine, Kharkiv

Репутация: нет
Всего: нет



Попробуй поставить MS Platform SDK for MS Windows SP2.
PM MAIL WWW   Вверх
MakC_726
Дата 4.7.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 3.7.2007

Репутация: нет
Всего: нет



Всем доброго времени суток!

Передо мной также стоит задача отсылки файла посредством bluetooth с ПК на мобильный телефон/КПК. Найти и перечислить все удаленные устройства я тут посмотрел как. Далее нужно установить соединение, авторизоваться, и собственно передать файл.

Вот у меня и появилась проблема: как написать код, устанавливающий соединение с удаленным устройством (мобильник/КПК) и отправляющий на него заданный файл, при этом не используя на этом самом устройстве никаких дополнительных софтов?
В МСДН и нете много примеров как найти и перечислить все удаленные устройства, но нет ни одного как послать туда файл используя только чистый WinSock (т.е. не на C# или чем-то подобном).

P.S.: Конкретная задача, стоящая передо мной звучит так: "Разработать DLL-библиотеку на C++, с помощью которой можно посылать на смартфоны и прочие подобные устройства (если есть какая-либо существенная разница, то можно ограничиться только смартфонами) файлы с ПК именно через bluetooth-адаптер (не используя на самом смартфоне своего софта)"
PM MAIL   Вверх
tauhider
  Дата 18.12.2007, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



Рахматик!  smile 
PM MAIL   Вверх
Kitt
Дата 17.1.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



Здраствуйте, а что делать, если прога компилится, но в hFind записывается undefined value и, как следствие, код не работает))


// Поиск первого Bluetooth устройства установленного на компьютере
    HANDLE hRadio;
    BLUETOOTH_FIND_RADIO_PARAMS btfrp;
    HBLUETOOTH_RADIO_FIND hFind;

    BLUETOOTH_RADIO_INFO RadioInfo= {0};

    btfrp.dwSize = sizeof(btfrp);

    hFind = BluetoothFindFirstRadio(&btfrp,&hRadio);

    if (hFind != 0) {
        printf("Local radio module is found\n");
    } else {
        printf("Nothing is found\n");
        return 1;
    };





PM MAIL   Вверх
ptr
Дата 21.1.2008, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Поподробнее можно. Что за undefined value? И желательно весь код.


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
Kitt
Дата 27.2.2008, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



Код был стандартный, из комментария BluetoothAPIs.h, по-моему. Не работало из-за того, что сам адаптер не распознавался стандартными средствами винды. Отсюда и возникало   "undefined value" С другим адаптером работает  smile 
PM MAIL   Вверх
zonch
Дата 22.1.2009, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



Господа,чем дело то закончилось?У кого-нибудь получилось ПЕРЕДАТЬ файл по блюхе ,используя только свою программу?
Найти \авториовать\удалить устройсва и у меня получилось.Кто -нибудь передавал фал????????????????
PM MAIL   Вверх
Vladimir_Petrov
Дата 22.1.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.1.2007

Репутация: нет
Всего: нет



У меня нет :( Несколько раз пытался подойти к решению данной проблемы. Кучу примеров перерыл. Не получилось.
PM MAIL   Вверх
zonch
Дата 22.1.2009, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



Есть решение вроде передавать надо через протокол obex http://dev.zuckschwerdt.org/openobex/wiki/...FtpExamplePushC 
тут пример отправки,хедер client.h  и остальные есть там же ,на сайте http://sourceforge.net/project/showfiles.p...ackage_id=62937
dll библиотеки тож гдет на сайте имеются. Но <cenzored>, хоть кто-нить бы объяснил как это и что это.Из dll нужно еще как-то изъять lib ,для того,чтобы прописать адреса функций в dll,но dumpbin не помогает..Не дает и все список функций..

M
Олег2005
Замечание за использование ненормативной лексики


Это сообщение отредактировал(а) Олег2005 - 23.1.2009, 11:26
PM MAIL   Вверх
alex00888
Дата 23.2.2009, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.2.2009

Репутация: нет
Всего: нет



У меня получилось, нужно только немного переделать пример передачи по IRDA (см. выше: http://forum.vingrad.ru/index.php?showtopi...st&p=715663 ), как найти bluetooth устройство тоже см.выше, а при соединении сокета нужно написать:
Код

    SOCKET sock;
    sock = socket(AF_BTH,SOCK_STREAM,BTHPROTO_RFCOMM);
    if(sock == INVALID_SOCKET) {
        return false;
    }
    SOCKADDR_BTH sbt;
    ZeroMemory(&sbt, sizeof(SOCKADDR_BTH));
    sbt.btAddr = addr;                                            // Заранее полученный адрес
    sbt.port = (DWORD)BT_PORT_ANY;
    sbt.serviceClassId = OBEXObjectPushServiceClass_UUID;
    sbt.addressFamily = AF_BTH;
    if(connect(sock,(SOCKADDR*)&sbt,sizeof(SOCKADDR_BTH))) {
        return false;
    }

всё остальное берётся из примера без изменений.
PM MAIL   Вверх
garmon4ik
Дата 29.5.2009, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



А какие параметры нужно указвать на принимающей соединение стороне? К примеру я использую след код, но на accept он зависает и все, как будто бы соединения и не поступало вовсе. 
Код

WSAData dt;
    if(WSAStartup(0x0202,&dt)!=0) printf("error111");
    SOCKET s;
    s=socket(AF_BTH,SOCK_STREAM,BTHPROTO_RFCOMM);
     SOCKADDR_BTH sbt;
    ZeroMemory(&sbt, sizeof(SOCKADDR_BTH));
    BTH_ADDR* bth=new BTH_ADDR;
    long q=AddrStringToBtAddr("00:15:83:19:a1:40",bth);  // Заранее полученный адрес
    sbt.btAddr= 0;
    sbt.port = (DWORD)BT_PORT_ANY;
    sbt.serviceClassId = OBEXObjectPushServiceClass_UUID;
    sbt.addressFamily = AF_BTH;

    if(bind(s,(SOCKADDR*)&sbt,sizeof(sbt))==SOCKET_ERROR) printf("Errbind %i\n", GetLastError());
    listen(s,1);

    SOCKADDR_BTH sbt1;
    int len = sizeof (sbt1);
        SOCKET    ss=accept(s,(SOCKADDR*)&sbt1,&len);
    if(ss==INVALID_SOCKET)
    {
        printf("ErrAccept %i\n", GetLastError());
    }

PM MAIL   Вверх
alex00888
Дата 25.10.2009, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.2.2009

Репутация: нет
Всего: нет



Зачем accept? Принимать соединение не надо! Принимающая сторона - мобильный/кпк/ноут, он уже умеет принимать соединения по этому протоколу. Нужно только послать данные как я описал выше, принимающая сторона получив запрос на соединение спросит у юзера "Принять данные от ***? да/нет", и в случае согласия примет файл автоматически.
PM MAIL   Вверх
SkyProc
Дата 19.4.2010, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.9.2009

Репутация: нет
Всего: нет



Народ что за трабла???

BluetoothFindFirstDevice
возвращает 0
а
GetLastError = 0x7E = ERROR_MOD_NOT_FOUND

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.