Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SPO_LEC

.pdf
Скачиваний:
16
Добавлен:
21.03.2016
Размер:
467 Кб
Скачать
☆

UNIX domain socket

Адрес: путь к файлу с типом socket

Данные: двусторонний pipe

71

BSD socket

Адрес: IP адрес + номер порта

Где хранятся данные?

72

Обмен по TCP

Сервер:

socket() -> bind() -> listen() -> accept() -> recv() -> send() -> close()

Клиент:

socket() -> connect() -> send() -> recv() -> close()

73

Обмен по UDP

Сервер:

socket() -> bind() -> recvfrom() -> sendto() -> close()

Клиент:

socket() -> sendto() -> recvfrom() -> close()

74

socket(2)

int socket(

 

int domain,

/* семейство адресов */

int type,

/* тип */

int protocol

/* протокол */

);

 

Функция возвращает номер дескриптора или код ошибки

75

bind(2)

int bind(

int s, /* номер дескриптора сокета*/ const struct sockaddr *name, /* имя */ int namelen /* длина поля имени */

);

Функция возвращает 0 или код ошибки

76

listen(2)

int listen(

int s, /* номер дескриптора сокета */ int backlog /* длина очереди */

);

Функция возвращает 0 или код ошибки

77

accept(2)

int accept(

 

int s,

/* номер дескриптора сокета */

struct sockaddr *addr, /* адрес клиента */ socklen_t *addrlen /* размер адреса */

);

Функция возвращает номер дескриптора или код ошибки

78

connect(2)

int connect(

int s, /* номер дескриптора сокета */ const struct sockaddr *name, /* имя */ int namelen /* длина поля имени */

);

Функция возвращает 0 или код ошибки

79

Механизм STREAMS

Альтернатива сокетам в System V UNIX:

fopen(3) fclose(3) fputc(3) fgetc(3) fprintf(3) fscanf(3) feof(3) ferror(3)

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]