Einzelnen Beitrag anzeigen

Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Bluetooth Server Win32 API

  Alt 14. Sep 2010, 08:35
Der ganze Thread hier ist zwar eher ein Selbstgespräch, aber vielleicht bringt es ja auch anderen Benutzern etwas wenn ich hier meine Gedanken und Fortschritte aufschreibe.

Ich stehe jetzt (hoffentlich) kurz vor einer funktionierenden Verbindung meines Android Handys und dem PC. Ich werde nachher zwei Dinge ausprobieren, ich habe zum einen im Internet noch ein bisschen Source zur Funktion WSASetService gefunden:
Code:
int size = sizeof(SOCKADDR_BTH);

if (0 != getsockname(s, pAddr, &size))
{
printf("%s\n", GetLastErrorMessage(GetLastError()));
}

WSAQUERYSET service;

memset(&service, 0, sizeof(service));

service.dwSize = sizeof(service);

service.lpszServiceInstanceName = "My Service";
service.lpszComment = "My comment";

GUID serviceID = OBEXFileTransferServiceClass_UUID;

service.lpServiceClassId = &serviceID;

service.dwNumberOfCsAddrs = 1;
service.dwNameSpace = NS_BTH;

CSADDR_INFO csAddr;

memset(&csAddr, 0, sizeof(csAddr));

csAddr.LocalAddr.iSockaddrLength = sizeof(SOCKADDR_BTH);
csAddr.LocalAddr.lpSockaddr = pAddr;

csAddr.iSocketType = SOCK_STREAM;
csAddr.iProtocol = BTHPROTO_RFCOMM;

service.lpcsaBuffer = &csAddr;

if (0 != WSASetService(&service, RNRSERVICE_REGISTER, 0))
{
printf("%s\n", GetLastErrorMessage(GetLastError()));
}
und zum anderen liegt es vielleicht daran, das mein Androidprogramm einfach nur eine andere GUID für den Service benutzen muss.
Code:
RFCOMM_PROTOCOL_UUID: TGUID = '{00000003-0000-1000-8000-00805F9B34FB}';
Michael N.
Brainstalker
  Mit Zitat antworten Zitat