Problème de socket de communication bluetooth sous visual c++
mrbozzo
Messages postés11Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention 4 avril 2007
-
6 mars 2007 à 00:43
kabayi
Messages postés2Date d'inscriptiondimanche 6 mars 2011StatutMembreDernière intervention29 avril 2011
-
29 avril 2011 à 04:12
Bonjour à tous!
Voilà, je recherche un code de communication bluetooth, qui accepte tout périphérique.
Je vous transmet mon code :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="Generator" content="Kate, the KDE Advanced Text Editor" />#include <Winsock2.h>#include <Ws2bth.h>#include
typedef struct {
short BDAddr[6];
short BDName[BLUETOOTH_MAX_NAME_SIZE];
} BT_DEVICE_INFO;
short BTListenDevice() {
WSADATA wsaData;
SOCKADDR_BTH SockAddr = {0};
short Result;
SockAddr.addressFamily = AF_BTH;
SockAddr.port = BT_PORT_ANY;
if (btServerSocket != INVALID_SOCKET) return -1;
if (WSAStartup(WINSOCK_VERSION, &wsaData) != 0) return -1;
if (wsaData.wVersion == WINSOCK_VERSION)
btServerSocket = socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM);
if (btServerSocket == INVALID_SOCKET) { WSACleanup(); return -1; } // ce test est toujours vrai!!!
btEvent = WSACreateEvent();
if (btEvent != WSA_INVALID_EVENT)
if (WSAEventSelect(btServerSocket, btEvent, FD_ACCEPT|FD_CLOSE|FD_READ|FD_WRITE) == 0) {
if (bind(btServerSocket, (SOCKADDR *) &SockAddr, sizeof(SockAddr)) == 0)
if (listen(btServerSocket, 1) == 0) return 1;
}
Result = WSAGetLastError();
BTCloseDevice();
return Result;
}
short BTListenDevice() {
WSADATA wsaData;
SOCKADDR_BTH SockAddr = {0};
short Result;
SockAddr.addressFamily = AF_BTH;
SockAddr.port = BT_PORT_ANY;
if (btServerSocket != INVALID_SOCKET) return -1;
if (WSAStartup(WINSOCK_VERSION, &wsaData) != 0) return -1;
if (wsaData.wVersion == WINSOCK_VERSION)
btServerSocket = socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM);
if (btServerSocket == INVALID_SOCKET) { WSACleanup(); return -1; }
btEvent = WSACreateEvent();
if (btEvent != WSA_INVALID_EVENT)
if (WSAEventSelect(btServerSocket, btEvent, FD_ACCEPT|FD_CLOSE|FD_READ|FD_WRITE) == 0) {
if (bind(btServerSocket, (SOCKADDR *) &SockAddr, sizeof(SockAddr)) == 0)
if (listen(btServerSocket, 1) == 0) return 1;
}
Result = WSAGetLastError();
BTCloseDevice();
return Result;
}
short TestServer() {
short Result;
if (BTListenDevice() != 1) return -1;
Result = BTAcceptDevice();
if (Result != 1) {
if (Result != WSAEWOULDBLOCK) return -1;
do {
Result = BTCheckEvent(2);
if (Result == -1) {
BTCloseDevice(); return -1;
}
} while (Result == 0);
} return 1;
}
// fin du code
Donc quand jelance le testServer, la creation du socket serveur ne fonctionne pas, pourtant j'ai un dongle bluetooth, les dll qu'il faut, j'ai des progs qui tournent sous bluetooth
Voilà, si vous avez des suggestions, je suis à votre écoute
Code horrible, mauvaise gestion, erreur d'importation, je suis à votre écoute
N'hésitez pas à vous déchainer, si vous voyez des abérations, la passion c'est quelque chose qui doit se vivre à fond ;)
mrbozzo
Messages postés11Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention 4 avril 2007 2 avril 2007 à 17:48
Bon, voilà, c'est la fête...
Mon prob était du à mon système propre à ma machine, car ça marche chez un pote.
Par contre, on a du virer bluesoleil de chez lui, pour faire fonctionner complètement le code, car comme c'est utilisé avec le sdk, et que justement, bluesoleil est une appli qui n'agit pas à l'aide de windows, mais bien à sa place, les fonctions du sdk ne pouvaient fonctionner!
Donc si vous voulez faire du bluetooth en dure via le sdk, soyez certain que votre clé utilise les pilotes windows par defaut.
kabayi
Messages postés2Date d'inscriptiondimanche 6 mars 2011StatutMembreDernière intervention29 avril 2011 29 avril 2011 à 04:09
j'ai voulu teste ton code mais il me sors des erreur comme koi il ne comprends pas les fonctions telque BtClosedevice ,ChekEvent ,BTAcceptDevice ..je ne comprend pas bien ..en plus si l'on fait une declaration du type short TestServer () il faut ajouter ; sinon il souligne l'accolade ..des explication ??
kabayi
Messages postés2Date d'inscriptiondimanche 6 mars 2011StatutMembreDernière intervention29 avril 2011 29 avril 2011 à 04:12
je suis entrain de vouloir faire un server bluetooth qui ecoute des connection des portable et envoit des donnée donnée a d'autre mais rien n'y est pas tuto pas de code qui marche ??des piste pour moi??