Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > чат на Си: возможно?


Автор: Гость_Гость 6.8.2005, 12:57
В одном онлайн проекте типа БК прочитал такое:
Цитата
Новый чат будет на Си. А по эффективности будет лучше твоего перлового этак в раз 100.

разве возможно написать чат на СИ? Си же вроде не для ВЕБ.. или я ошибаюсь?

Автор: sergejzr 6.8.2005, 13:01
Гость_Гость, язык не имеет значения. В конце концов результат обработки для любого языка один - комманды процесора. Просто не для всех языков есть библиотеки, выполняющие конкретные задачи. Это означает, что их придётся писать самому.

Автор: Guest 6.8.2005, 13:03
sergej.z
хммм... а как это хоть примерно делается? (си + веб) где можно посмотреть не подскажите?

Автор: mr.Anderson 6.8.2005, 13:03
А как его писать (чат)?
Добавлено @ 13:04
Не успел ответить опять. Действительно, где почитать о создании чата?

Автор: sergejzr 6.8.2005, 13:07
Например пишешь свой *.exe и запускаешь как cgi. Спроси в Веб- разделе, как это сделать.

А зачем оно тебе? Для того чтобы такой проект (чат на Си) написать надо быть очень хорошим спецом и отлично разбираться во многих вещах. Да и тогда это займёт немало времени, к тому же результат будет негибким. Придётся при малеёших изменениях компилить весь проект.
Добавлено @ 13:11
Смысл всего сводится к тому, что передаём весь запрос юзера в программу, а в самой программе пишем:
Код

cout<<"<html><head></head><body>сюда генерим содержимое выдаваемой страницы</body></html>";



Автор: Guest 6.8.2005, 13:18
sergej.z
а ты быстродействию как? ечли сравнивать с ПХП и Перл?

Автор: Guest 6.8.2005, 13:18
sim7
В своем проекте я пишу чат на ПХП + майСКЛ... вот так вот.. вроде работает кое как smile

Автор: sergejzr 6.8.2005, 13:21
Цитата(Guest @ 6.8.2005, 12:18)
а ты быстродействию как? ечли сравнивать с ПХП и Перл?

Скорость конечно в первую очередь зависит от того как написать smile , но ПХП и перл - интерпретируемые языки(надо текст прочитать, "понять" выполнять), а Си - почти машинный код. Так вот и считай. 100 раз быстрее - вполне реально.

Автор: Guest 6.8.2005, 13:27
sergej.z
но зато чтоб его написать надо помучится изрядно

Автор: Guest 6.8.2005, 14:11
Сорри, что не авторизирован....

Чат написать можно на всем чем угодно... Для многих алгоритмов чата лучше реализовать чат на php, либо перл, если использовать mod_perl... Работа будет значительно быстрее чем тотже самый код написаный на C и использующий CGI. Если использовать PHP и в довесок скомпилить зендом, то скорость возрастет еще больше... Но крупные проекты (такого масштаба как БК) лучше написать в два этапа.

1. Обработчик. Написать Демон на С. Эта чать будет хранить и обрабатывать все данные.
2. Интерфейс. На ПХП. Должен принимать запросы от пользвавателя и отправлять в обработчик, потом получать данные с обработчика и отправлять опять пользователю... Такой вариант будет наиболее качественным...

И последний вариант... самый качественный чат получится, если вместо вебсервера использовать демон специально предназначеный для чата... демон этот писат само собой нормально получится только на С...

Все вопросы в раздел Веб.

С уважением rMaveric

Автор: Mayk 6.8.2005, 19:23
Цитата(sergej @ 6.8.2005, 14:21)
Так вот и считай. 100 раз быстрее - вполне реально.

Не знаю как обстоят дела с PHP(интерпретирует его сам сервер, или отдельная прога), но cgi приложение afaik запускается каждый раз. То есть ввел пользователь строку, отослал серверу, тот запустил приложение, приложение выполнилось, приложение завершилось. Второй клиент прислал строку - приложение запускается еще раз.
Например, servletы Явы сразу не выгружаются. Поэтому я бы зарекся от подобных высказываний - запуск приложения ОЧЧЕНЬ дорогое удовольствие.

Автор: Fixin 6.8.2005, 20:24
Ну, если уйти до уровня железа, то можно сделать отдельный прогу-клиент для чата и тогда скорость будет ой-ёй-ёй. Еще потребуется отдельный сервер, и в итоге вы напишете многоголосый ICQ. smile
Может я чего не понимаю, но свой чат на сях - выход только для локалки, или прямого соединения.

Автор: S.A.P. 6.8.2005, 20:33
Цитата(Fixin @ 6.8.2005, 20:24)
ICQ

Fixin в натуре, причем тут Веб smile . Пишите что нить типа ICQ, пользы будет больше smile . А cgi на С для чата - абсолютно бесполезная работа smile .



Добавлено @ 20:34
Цитата(Guest @ 6.8.2005, 14:11)
Все вопросы в раздел Веб.
нуну

Автор: sergejzr 6.8.2005, 20:56
Цитата(Mayk @ 6.8.2005, 18:23)

Например, servletы Явы сразу не выгружаются. Поэтому я бы зарекся от подобных высказываний - запуск приложения ОЧЧЕНЬ дорогое удовольствие.

А я и не сказал, что как CGI быстрее будет. Ты ошибочно собрал в одно два разных поста.
Но по теме скажу. Проблемы всех этих библиотек(php,perl,java), что они не подточены под конкретную задачу. Вызывая различные функции юзер не имеет понятия, что там происходит внутри. Если писать напрямую (например на си) то можно оставить минимум.
Повторю ещё раз. Я зык - не главное. Главное КАК написано, но если уже речь идёт про экстремальные вещи, на Си возможно написать вещь, которую ПХП никогда не догонит по скорости, а вот наоборот - нет.
PS:
Самое быстрое и оптимальное - написать свой сервер, который уже "чатом" работает. (Вообще желательно на ассемблере smile ).

Автор: S.A.P. 6.8.2005, 21:00
Цитата(sergej @ 6.8.2005, 20:56)
Вообще желательно на ассемблере

точно! smile . Где то видел, что на асме можно делать вставки в HTML, как PHP smile .

Автор: AISIN 8.8.2005, 13:36
У меня есть куча всяких классов написаных специально для создания HTML страничек. Если кому надо могу поделиться!

Автор: Helicopter 9.8.2005, 06:23
млин ну вы ещё на асме чат напишите. до самой пенсии время коротнётеsmile

Автор: AISIN 9.8.2005, 13:10
Helicopter Если тебе не интересно то можешь не писать трудно только с самого начала. А если одну программу напишешь до конца то аналогичные проги пишутся гораздо быстрее.
P.S. Когда смотришь на исходник сервера апач возникает мысль, что его не прерывно писали лет 5.

Автор: Croncks 19.12.2007, 18:12
Ребят, помогите решить задачу на Си. croncks@rambler.ru

Автор: MAKCim 19.12.2007, 18:17
Croncks, 

M
MAKCim
Модератор: Обращайтесь в центр помощи!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)