Локальный чат-сервер на C с использованием IPC - PullRequest
0 голосов
/ 11 октября 2009

Привет, ребята! Мне нужно написать сервер чата на C. Для этого нужно использовать только IPC.

Не могли бы вы помочь мне в том, что делать дальше. Код скелета мне очень поможет.

1 Ответ

2 голосов
/ 11 октября 2009
  1. Напишите эхо-сервер: сервер, который принимает одного клиента и повторяет все, что клиент говорит ему.

  2. Разверните этот сервер для поддержки нескольких одновременных подключений.

  3. У сервера есть эхо для всех соединений.

  4. Рассматривайте в качестве команд некий шаблон линий от клиентов - скажем, начальный "/" и воздействуйте на них (закройте соединение, назовите соединение, перечислите соединения и т. Д.), А не выводите их.

  5. Префикс всего отображаемого текста с именем клиента, по умолчанию «Anonymous $ N», а затем имя, установленное командой из # 4.

  6. При получении нового соединения попросите сервер извлечь из него имя, прежде чем сервер начнет выводить из него текст и выполнять другие команды.

И так далее. Как уже упоминалось, Руководство Биджа может помочь вам пройти №1 и №2.

РЕДАКТИРОВАТЬ: ОК, вы добавили язык «IPC». Вы все еще можете использовать сокеты для этого по устройству обратной связи, если вы не считаете, что IPC покрывает какие-то особые требования. Вы также можете использовать доменные сокеты UNIX - именованные каналы. perlipc обсуждает их с коротким примером, и вы можете продолжить, например, библиотека *1033* GNU C

...