Socket socket(

int af, //[in] формат адреса

int type, //[in] тип сокета

int prot //[in] протокол

);

- параметр af для стека TCP/IP принимает значение AF_INET;

- параметр type может принимать два значения:

· SOCK_DGRAM – сокет, ориентированный на сообщения(UDP);

· SOCK_STREEM – сокет ориентированный на поток;

· старший номер версии;

- параметр prot определяет протокол транспортного уровня:

· для TCP/IP можно указать NULL


Интерфейс Nimed Pipe.

Именованным каналом называется объект ядра операционной системы, который обеспечивает обмен данными между процессами, выполняющимися на компьютерах в одной локальной сети. Процесс, создающий именованный канал, называется сервером именованного канала. Процессы, которые связываются с именованным каналом, называются клиентами именованного канала. Любой именованный канал идентифицируется своим именем, которое задается при создании канала.

Именованные каналы бывают: дуплексные (позволяющие передавать данные в обе стороны) и полудуплексны е (позволяющие передавать данные только в одну сторону). Передача данных в именованном канале может осуществляться как потоком, так и сообщениями. Обмен данными в канале может быть синхронным и асинхронным.

Для использования функций интерфейса Named Pipe в программе на языке C++ необходимо включить в ее текст заголовочный файл Windows.h. Сами функции интерфейса располагаются в библиотеке KERNEL32.DLL ядра операционной системы.

Все функции Named Pipe API можно разбить на три группы: функции управления каналом (создать канал, соединить сервер с каналом, открыть канал, получить информацию об именованном канале, получить состояние канала, изменить характеристики канала); функции обмена данными (писать в канал, читать из канала, копировать данные канала) и функции для работы с транзакциями.

Наименование функции Назначение
CallNamedPipe Выполнить одну транзакцию
ConnectNamedPipe Соединить сервер с каналом
CreateFile Открыть канал
CreateNamedPipe Создать именованный канал
DisconnectNamedPipe Закончить обмен данными
GetNamedPipeHandleState Получить состояние канала
GetNamedPipeInfo Получить информацию об именованном канале
PeekNamedPipe Копировать данные канала
ReadFile Читать данные из канала
SetNamedPipeHandleState Изменить характеристики канала
TrasactNamedPipe Писать и читать данные канала
WaitNamedPipe Определить доступность канала
WriteFile Писать данные в канал


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: