Функции обмена данными. В режиме с установлением логического соединения для обмена данными используются функции t_snd и t_rcv

В режиме с установлением логического соединения для обмена данными используются функции t_snd и t_rcv.

В режиме без установления логического соединения для обмена данными используются функции t_sndudata и t_rcvudata.

Посылка данных в режиме с установлением соединения

Для посылки данных партнеру по сетевому взаимодействию в режиме с установлением логического соединения используется функция t_snd, имеющая следующий вид

#include <tiuser.h>

int t_snd (fd, buf, len, flags)

int fd;

char *buf;

unsigned int len;

int flags;

Аргумент fd задает дескриптор транспортной точки, через которую посылаются данные.

Аргумент buf указывает на область памяти, содержащую передаваемые данные.

Аргумент len задает длину (в байтах) передаваемых данных.

Аргумент flags модифицирует исполнение функции t_snd. При нулевом значении этого аргумента функция t_snd полностью аналогична системному вызову write.

При успешном завершении t_snd возвращает количество переданных из области, указанной аргументом buf, байт данных. Если канал данных, определяемый дескриптором fd, оказывается "переполненным", то t_snd переводит программу в состояние ожидания до момента его освобождения.

Прием данных в режиме с установлением соединения

Для получения данных от партнера по сетевому взаимодействию в режиме с установлением логического соединения используется функция t_rcv, имеющая следующий вид

#include <tiuser.h>

int t_rcv (fd, buf, len, flags)

int fd;

char *buf;

unsigned int len;

int flags;

Аргумент fd задает дескриптор транспортной точки, через которую принимаются данные.

Аргумент buf указывает на область памяти, предназначенную для размещения принимаемых данных.

Аргумент len задает длину (в байтах) этой области.

Аргумент flags модифицирует исполнение системного вызова recv. При нулевом значении этого аргумента вызов t_rcv полностью аналогичен системному вызову read.

При успешном завершении t_rcv возвращает количество принятых в область, указанную аргументом buf, байт данных. Если канал данных, определяемый дескриптором fd, оказывается "пустым", то t_rcv переводит программу в состояние ожидания до момента появления в нем данных.


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



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