PDA

Показать полную графическую версию : Самодельный сервер


ALLY
18-07-2004, 23:44
...где можно прочесть о строительстве серверов ( + по русски).
Языками не избалован - немного С++ , Ruby, FASM...


Исправлено: ALLY, 20:09 19-07-2004

mar
19-07-2004, 00:38
ALLY
Языками не избалован - немного С++ , Ruby, FASM
а осями? :) подо что литературу нужно?
(А c/c++ имхо то, что доктор прописал для таких вещей.)

ivank
19-07-2004, 15:05
mar
Не факт. В скриптовых языках как правило есть очень простые фреймворки для создания несложных серверов. Я бы например, с помощью xmlrpc4r (http://www.fantasy-coders.de/ruby/xmlrpc4r/) (XML-RPC для Ruby) можно за минуты создать XML-RPC клиент/сервер. Который использует HTTP как базовый протокол. А поверх него уже легко положить любой другой логический протокол.

И вообще, пока не сказано, что за сервер нужен (т.е. для каких целей и определён ли заранее протокол его общения с клиентами), подсказать что-то определённое довольно трудно.

ALLY
19-07-2004, 20:22
ВБП!
Хочу сделать самый быстрый сервер (поэтому и *FASM). Со своими БД, ИИ - это ещё и Lips ( или Lisp?) нужен?
Чтобы оконкретится, мне надо почитать основы - функциональное устройство, какие протоколы заряжаются *etc . *И почему XML ? Это какое-то поветрие, везде XML...


Исправлено: ALLY, 20:35 19-07-2004

ivank
19-07-2004, 22:50
ALLY
Самый быстрый сервер чего. Веб, фтп, или ещё чего-то? Без этого рекомендовать что-то бессмысленно.

Могу сказать одно - выброси асм. Тут не столько от языка зависит, сколько от используемых технологий. Если использовать обычные сокеты с обычным poll, даже вызывая их из асма, то не стоит ожидать существенного ускорения по сравнению с остальными аналогами, концентрирующими внимание на на скорости (а не богатстве функциональныз возможностей). А вот если грамотно пользоваться API конкретной операционки, то можно сильно выиграть в производительности. Это большей частью теория, т.к. сам никогда не задавался целью создания высокопроизволительных серверов, обычно ограничиваясь вполне классическим select'ом и иже с ним, а в последнее время, даже стандартным питоновским SocketServer, который всю грязную работу делает за меня. В качестве примера того, за счёт чего можно выиграть в скорости можно првести, например, вот это (http://kalinin.ru/programming/network/16_07_01.shtml).

Со своими БД, ИИ - это ещё и Lips ( или Lisp?) нужен? При чём тут ИИ? Опять же БД сдалть, пусть даже самую простейшую реляционную с минимальной поддержкой SQL'я - это работа не на один человеко-месяц, если действительно требуется скорость. Там опять же важнее алгоритмы и структуры данных (начинаю Вирта цитировать :)), нежели язык реализации.

И почему XML ? Это какое-то поветрие, везде XML... Я в общем-то против XML "вообще". Но в определённых областях уже есть некоторые сложившиеся стандарты. Тот-же XML-RPC. Я дал ссылку на Рубиновую библиотечку, которая позволяет быстро и легко ваять XML-RPC серверы/клиенты. Просто в качестве примера того, что не всегда надо опускаться на низкий уровень сокетов, некоторые типы задач проще и быстрее решить с помощью того XML-RPC (или любого другого RPC, библиотека для поддержки, которого имеется для вашего языка).

Добавлено:

Но для начала, если есть желание писать свой сервер чего-бы-там-ни-было, то надо читать мануалы по сокетам (http://www.google.ru/search?q=BSD+sockets+tutorial). А уж после того как всё зараюотает начать извращаться с чем-то более замороченым.

ALLY
20-07-2004, 20:47
ivank - Привет!
Спасибо за ссылки, буду разбираться. *:)

ALLY
24-07-2004, 18:59
mar - Привет!*
* Прости за не учтивость, пользовал следующие OSи - Menuet, Колибри, BEOS, ASP Linux EE, Окошки. Мне бы просто лит-ру с описанием сервера, как такового. А дальше я сам разберусь...




© OSzone.net 2001-2012