Содержание материала

Вызывается она просто, без всяких параметров. Возвращаемое значение, в принципе, можно не проверять:

WSACleanup;

Создание клиента

После того, как библиотека инициализирована, мы можем вызывать функции WinSock. Давайте создадим простой сокет, для работы с Bluetooth устройствами. Для этого необходимо вызвать функцию socket.

Code:

function socket(af, type_, protocol: Integer): TSocket; stdcall;

 

Вот как это делается:

Code:

var

ASocket: TSocket;

begin

ASocket := socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM);

if ASocket = INVALID_SOCKET then

RaiseLastOsError;

 

Функция вернет корректный описатель сокета, либо INVALID_SOCKET в случае ошибки. Запомните, что Bluetooth поддерживает только потоковые сокеты (SOCK_STREAM).

Далее нам необходимо заполнить структуру SOCKADDR_BTH. В эту структуру записывается информация о сервере, к которому нам нужно подключиться (адрес, сервис и т.п.). Делается это следующим образом:

Code:

var

Addr: SOCKADDR_BTH;

AddrSize: DWORD;

begin

AddrSize := SizeOf(SOCKADDR_BTH);

FillChar(Addr, AddrSize, 0);

with Addr do

begin

addressFamily := AF_BTH;

btAddr := ADeviceAddress;

serviceClassId := SerialPortServiceClass_UUID;

port := DWORD(BT_PORT_ANY);

end;

 

Здесь в переменной ADeviceAddress должен быть адрес устройства (Int64), присоединяемся к любому порту (BT_PORT_ANY) сервиса SerialPortServiceClass.

Далее вызываем функцию connect, которая имеет вид:

Code:

function connect(s: TSocket; name: PSockAddr; namelen: Integer): Integer; stdcall;

Делается это вот так:

Code:

if connect(ASocket, @Addr, AddrSize) <> 0 then RaiseLastOsError;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить