Client and server on UNIX
socket
make
— creates server and client executable filesmake Server
— creates server executable filemake Client
— creates client executable filemake ServerRun
— runs the server (creates server executable file, if not done yet)make ClientRun
— runs the client with 0 arguments (creates client executable file, if not done yet)
- Server doesn't use arguments
- Client takes first argument as Client's id or uses default id
0
if none given
- Server notifies user when it's up and ready to work
- Server shows the message and it's author
- Server notifies user if Client is disconnected
- Client reading the messages in infinite loop
- Client terminating it's work if string
exit
is given
Необходимо получить опыт работы с IPC. Нужно создать приложение клиента и сервера.
- Клиент и сервер обшаются через UNIX сокет
- Клиент подключается к серверу через UNIX сокет, получает от сервера файловый дескриптор, соответсвующий объекту какого-либо вида IPC
- Клиент и сервер выполняют какое-то взаимодействие используя IPC
- Ожидать подключений на UNIX сокете
- Для новых соединений создавать новый вид IPC, объекты которого представимы в виде файловых дескрипторов
- Передавать через UNIX сокет клиенту файловый дескриптор IPC соответсвующий клиенту
- Ожидать выполнения какого-либо протокола поверх IPC с клиентом
- Подключиться на UNIX сокет к серверу
- Получать в виде файлового дескриптора клиентскую часть IPC
- Взаимодействовать с сервером через IPC для выполнения какого-либо протокола
Примерами IPC могут служить: PIPE, socket, файловые дескрипторы для разделямой памяти или сообщений(POSIX), файловые дескрипторы для анонимной памяти.
- man 7 unix