2009-10-11 4 views
0

Привет, ребята Мне нужно написать чат-сервер на C. Ему нужно только использовать IPC.Локальный сервер чата в C с использованием IPC

Не могли бы вы помочь мне в продолжении этого. Скелетный код мне очень поможет.

+1

Первое, что вам нужно сделать после долгого времени, - написать код сети? : | – GManNickG

+1

Да Beej's Guide to Network Programming - хороший ресурс. –

ответ

2
  1. Написать сервер эха: сервер, который принимает одного клиента, и повторяет все, что клиент возвращает к нему.

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

  3. Имейте серверное эхо во все соединения.

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

  5. Префикс все echo'd текст с именем клиента с по умолчанию «Анонимный $ N», а затем имя, заданное командой из # 4.

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

И так далее. Как уже упоминалось, Beej's Guide может помочь вам преодолеть №1 и №2.

EDIT: ОК, вы добавили язык «IPC». Вы все еще можете использовать сокеты для этого через loopback-устройство, если у вас нет особых требований, которые, по вашему мнению, покрывают IPC. Вы также можете использовать сокеты с именами UNIX. perlipc обсуждает их с кратким примером, и вы можете продолжить, например, руководство GNU C library.

+0

Мне нужно использовать очереди сообщений для реализации этого. –

+1

ОК. Руководство Beej: http://www.ecst.csuchico.edu/~beej/guide/ipc/mq.html – ayrnieu