10.3. Потоковый эхо-клиент SCTP типа «один-ко-многим»: функция main
Данный текст является ознакомительным фрагментом.
Данный текст является ознакомительным фрагментом.
Обобщенная функция Main Обозначение С-функции main с ее списком аргументов (argv[]) следует заменить макросом _tmain. В зависимости от определения символической константы _UNICODE макрос разворачивается либо до main, либо до wmain. _tmain определяется в заголовочном файле <tchar.h>, который
Функция main() Задачей новой функции main(), которая вызывается SCM, является регистрация службы в SCM и запуск диспетчера службы (service control dispatcher). Для этого необходимо вызвать функцию StartServiceControlDispatcher, передав ей имя (имена) и точку (точки) входа одной или нескольких логических
5.2. Эхо-сервер TCP: функция main Наши клиент и сервер TCP используют функции, показанные на рис. 4.1. Программа параллельного сервера представлена в листинге 5.1[1].Листинг 5.1. Эхо-сервер TCP (улучшенный в листинге 5.9)//tcpcliserv/tcpserv01.с 1 #include "unp.h" 2 int 3 main(int argc, char **argv) 4 { 5 int listenfd, connfd; 6 pid_t
5.4. Эхо-клиент TCP: функция main В листинге 5.3 показана функция main TCP-клиента.Листинг 5.3. Эхо-клиент TCP//tcpcliserv/tcpcli01.c 1 #include "unp.h" 2 int 3 main(int argc, char **argv) 4 { 5 int sockfd; 6 struct sockaddr_in servaddr; 7 if (argc != 2) 8 err_quit("usage: tcpcli <Ipaddress>"); 9 sockfd = Socket(AF_INET, SOCK_STREAM, 0);10 bzero(&servaddr. sizeof(servaddr));11 servaddr.sin_family
8.3. Эхо-сервер UDP: функция main Теперь мы переделаем нашу простую модель клиент-сервер из главы 5, используя UDP. Диаграмма вызовов функций в программах наших клиента и сервера UDP показана на рис. 8.1. На рис. 8.2 представлены используемые функции. В листинге 8.1[1] показана функция
8.5. Эхо-клиент UDP: функция main Функция main клиента UDP показана в листинге 8.3.Листинг 8.3. Эхо-клиент UDP//udpcliserv/udpcli01.c 1 #include "unp.h" 2 int 3 main(int argc, char **argv) 4 { 5 int sockfd; 6 struct sockaddr_in servaddr; 7 if (argc != 2) 8 err_quit("usage: udpcli <Ipaddress>"); 9 bzero(&servaddr, sizeof(servaddr));10 servaddr.sin_family = AF_INET;11 servaddr.sin_port =
Сокет типа «один-к-одному» Данный тип сокета был разработан специально для облегчения переноса существующих приложений с TCP на SCTP. Его модель практически идентична описанной в главе 4. Существуют, конечно, некоторые отличия, о которых следует помнить (в особенности, при
Сокет типа «один-ко-многим» Сокет типа «один-ко-многим» дает разработчику приложения возможность написать сервер, не использующий большого количества дескрипторов сокетов. Один дескриптор для такого сервера будет представлять несколько ассоциаций, подобно сокету UDP,
Глава 10 Пример SCTP-соединения клиент-сервер 10.1. Введение Воспользуемся некоторыми элементарными функциями из глав 4 и 9 для написания полнофункционального приложения SCTP с архитектурой клиент-сервер типа «один-ко-многим». Сервер из нашего примера будет аналогичен
10.2. Потоковый эхо-сервер SCTP типа «один-ко-многим»: функция main Наши клиент и сервер SCTP вызывают функции в последовательности, представленной на рис. 9.2. Код последовательного сервера представлен в листинге 10.1[1].Листинг 10.1. Потоковый эхо-сервер SCTP//sctp/sctpserv01.c 1 #include "unp.h" 2 int 3
23.2. Сервер типа «один-ко-многим» с автоматическим закрытием Вспомните программу-сервер, которую мы написали в главе 10. Эта программа не отслеживала ассоциации. Сервер рассчитывал, что клиент самостоятельно закроет ассоциацию, удалив тем самым данные о ее состоянии.
Отношения типа один-к-одному Предположим, в вашей базе данных есть таблицы, в которых хранится информация о сотрудниках и видах работ. Если каждому служащему назначается один вид работы, то отношение между сотрудниками и видами работ можно определить типом один-к-одному,
Отношения типа один-ко-многим Гораздо чаще, чем отношения типа один-к-одному, в базах данных используются отношения типа один-ко-многим, в которых каждая запись таблицы связана с одной или несколькими записями в другой таблице (или вообще не связана ни с какими записями). В
Отношения типа многие-ко-многим Отношение типа многие-ко-многим по сравнению с отношением один-ко-многим идет еще дальше. В качестве классического примера отношения типа многие-ко-многим можно привести отношение между студентами и классами. Каждый студент может иметь