Home

Page 243
Page 243
background image

236 Глава 5

гнезда, отличный от дескриптора s.

 вер может продолжать сле-

жение за состоянием объявленного гнезда, поддерживая связь с клиентом

по отдельному каналу.

Процесс-клиент

Connect

Процесс-сервер

Listen addr accept

Рис. 5.10. Соединение клиента с сервером

Вот мы и закончили рассматривать функции, необходимые вам для

нения клиента и сервера. Теперь мы начнем знакомиться с передачей дан-

ных. И первой на очереди стоит функция отправки пакетов, потому что для

того, чтобы что-то принять, необходимо сначала отправить. И поможет нам

в отправке пакетов функция send.

function send(

s: TSocket;

var

 Integer

) : Integer; stdcall;

Рассмотрим каждый параметр в отдельности:

 — как всегда, это дескриптор гнезда;

 buf — указатель на посылаемые данные;

 len — размер данных;

• flags — флаги, установки.

Функция возвращает количество фактически переданных байтов.
Параметр flags может содержать значения:

 — определяет, что

данные не должны быть подчинены маршрутизации,

 MSG_OOB

 — послать

данные

 ("через таможню"), если посылаемые данные не учиты-

ваются в общем информационном обмене между взаимодействующими про-
цессами.

Длина сообщения не должна превышать значения в

Прием данных осуществляется функцией recv:

function

s: TSocket;

var Buf; len,

 Integer

): Integer; stdcall;

Параметры практически те же:

 buf — массив для приема данных.

 len

 ожидаемый объем данных.


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.