Дайте пару-тройку советов по серверу

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Дайте пару-тройку советов по серверу

Сообщение DirectXManiac » 25.12.2007 (Вт) 0:53

Всем привет! Давно я тут не был :) Значится стояит у меня такое ТЗ. Нужно разработать сервер. Теперь подробности:
1.Серверное приложение должно обрабатывать до 1000 клиентов
2.Хотелось бы сделать независимую передачу данных. Чтобы сервер мог послать данные клиенту не получив данные от оного... Насколько я знаю это UDP протокол?
3.Нужна быстрая обработка данных, ввод вывод в бд.

Будем 2 типа серверов: авторизационный и основной. К авторизационному должны подключатся основные(их может быть несколько), и клиенты. К основному - только клиенты.

Ну и собсно... Посоветуйте что юзать для создания сервера. Как организовать 2 пункт. Какую базу юзать(mySQL хотелось бы). Сервер по винду ессесно))) Только сильно не бросайтесь, я давно не занимался программированием, и ваще я с сетью не сильно и работал.
Заранее спасибо!
#define ROFL 0xDDDD

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 25.12.2007 (Вт) 1:37

Поднимаеш IIS или Apache делаеш веб-морду-лица и все заинтересованные просто набирают урль.
Или под теми-же веб-серверами поднимаеш свой веб-сервис(например теперешний аналог SOAP или что-то борландовское) а клиенту даеш приложение которое работает с этим сервисом. Вся работа происходит посредством этого сервиса и только он работает с БД. т.о. БД в инет не видна и все действия происходят только через твой веб-сервис.

Сейчас используем MSSQL, я бы попробовал сделать то-же на FireBird
что хорошо знаеш, то и используй.

А вообще определись что тебе нужно, т.е. что от тебя хотят, потому , что твой вопрос не вопрос а непонятно что :wink:
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 1:54

Крайне плохое решение.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 25.12.2007 (Вт) 9:21

Это игровой сервер, поэтому требуется то что я описал. Я спросил что использовать для создание сервера, это значит какие API. Winsock или ещё что? mySQL тоже мне подойдет. Все продумал, меня конкретно интерисует платформа для прослушивыния порта и советы по архитектуре сервера: как организовать передачу данных, как сортировать клиентов по потокам(процессам), ну и насколько это надежно...
#define ROFL 0xDDDD

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.12.2007 (Вт) 9:54

Забудь про VB.
Lasciate ogni speranza, voi ch'entrate.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2007 (Вт) 10:14

Тут лучше .NET. А вообще зависит от игры. Сетевой пасьянс и на VB можно сделать.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 11:07

alibek
Интересно, почему.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 25.12.2007 (Вт) 12:21

Хакер
А какое решение получше но учитывая не игровой сервер онлайновую бизнес систему абонентов на 300 ???
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 25.12.2007 (Вт) 12:52

Хакер, потому что глупо.
Для этой задачи больше подходит Си или .NET.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 12:56

alibek
Я, кажется, (хотя, наверное, тебе совсем не кажется) хотел услышать что-то более объективное.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2007 (Вт) 15:16

Хакер писал(а):alibek
Я, кажется, (хотя, наверное, тебе совсем не кажется) хотел услышать что-то более объективное.
Если это игра реального времени, а не походовая, то без многопоточности будет сложно.
Последний раз редактировалось Antonariy 25.12.2007 (Вт) 15:21, всего редактировалось 1 раз.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 15:18

На VB можно писать многопоточные приложения.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2007 (Вт) 15:21

"Многопоточные" с кучей оговорок и глюков? Или COM+?
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 15:23

Без глюков, используя несколько техник и учитывая несколько особенностей VB. Вполне нормальное приложение можно написать.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 25.12.2007 (Вт) 15:37

а если игровой сервер будет под *никсами как тогда.
Ведь по большому счету от сервера нужен пересчет игры, без какого-либо ГУЯ.

Хотя мы отклонились в рассужденеия если-бы да кабы :wink:
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2007 (Вт) 15:51

Хакер писал(а):Без глюков, используя несколько техник и учитывая несколько особенностей VB.
Форму бубна и тембр камлания тоже учитывать? На .net этого делать не надо.
Хакер писал(а):Вполне нормальное приложение можно написать.
Между вполне нормальным и надежным - пропасть.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 16:13

Я скажу, может это и банально будет выгдядеть, но .NET - дрянь. Полнейшая. Это примерно то же, что и P-Code в обычном VB, только всё ещё более извращено.

Между вполне нормальным и надежным - пропасть.

В данном случае слово "нормально" включало в себя значение слова "надёжно".
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2007 (Вт) 17:30

"Вполне нормально" = "волне надежно". Осталось выяснить смысл слова "вполне".

Лично тебя никто не заставляет писать под .net. Ибо кроме личной неприязни к этой технологии в твоей позиции ничего не просматривается. А писать "дрянь" вообще не имея представления как там оно на практике... Причем на конкретной практике, а не сравнивая ознакомительный хеловорд с серьеным приложением.

Кстати и у пикода есть полезные свойства...
Последний раз редактировалось Antonariy 25.12.2007 (Вт) 17:35, всего редактировалось 1 раз.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 17:33

Как раз я имею представления, как эта технология устроена внутри.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2007 (Вт) 17:38

Я написал на практике не просто так. "Как эта технология устроена внутри" - это теория. Как она работает на реальных задачах ты не знаешь.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 17:48

Глупость говоришь.
Работает она (что значит "реальных задачах"? есть виртуальный задачи?) так, как она устроена.

Да, и в чём плюсы P-кода?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 25.12.2007 (Вт) 17:59

Глупость говоришь.
Работает она (что значит "реальных задачах"? есть виртуальный задачи?) так, как она устроена.
Да, есть. Это которые в твоей голове. Которые ты мысленно пытаешься натянуть на свои представления об устройстве технологии. В противоположность тем, которые уже написаны, отлажены и работают на реальных серверах. Как они там работают, на каком железе, под какой нагрузкой, с какой эффективностью, ты не имеешь ни малейшего понятия.
Да, и в чём плюсы P-кода?
Компилируется на порядок быстрее нативного. При рефакторинге больших проектов экономится куча времени при отлове ошибок компиляции.
Лучший способ понять что-то самому — объяснить это другому.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 18:20

Antonariy
Мне не нужно иметь представление о каких-то конкретных серверах с какой-то конкретной нагрузкой и о том, с какой эффективностью всё это работает. Возможно, что оно работает с большой эффективностью. Но я абсолютно уверен, что если то же самое было бы написано на VB6 и, уж тем более, на С/С++ - оно работало бы на порядок эффективнее.

Компилируется на порядок быстрее нативного. При рефакторинге больших проектов экономится куча времени при отлове ошибок компиляции.

Это не плюс самого P-кода, это особенность (естественная) компилятора. Но я всегда исхожу из тех соображений, что любая программа больше времени работает, чем компилируется. Поэтому, для меня важно лишь то, что проявляется во время работы.

И абсолютно всё будет проигрывать Native-коду (и P-код, и MSIL), потому что Native-код выполяется процессором. А всевозможные байт-коды, которые выполняются пусть даже очень быстрыми автоматоми, будут выполняться на порядок медленнее.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 25.12.2007 (Вт) 18:34

И абсолютно всё будет проигрывать Native-коду (и P-код, и MSIL),
Во время первого запуска Net-приложения происходит компиляция в Native-код. При последующих запусках именно он и будет загружаться.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 18:48

Ага. И MSIL будет откомпилирован в отвратительный Native-код. Потому что LD*-инструкции будут скомпилированы (во что?) либо в кучу Native-инструкций, либо в вызовы некоторых заранее подготовленных функций. Значит код будет некомпактным. А скорость выполнения кода почти напрямую зависит от его размера.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 25.12.2007 (Вт) 18:57

Тестировал? Если нет - предлагаю устроить. Мне просто самому любопытно, как много Net'овский код проиграет VB'эшному.
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 25.12.2007 (Вт) 19:07

И абсолютно всё будет проигрывать Native-коду (и P-код, и MSIL), потому что Native-код выполяется процессором

т.е. ты хочеш сказать, что люди делают новую среду и хотят перевести на неё всю разработку и они заведомо закладываются на уменьшение быстродействия??? и при этом имеют возможность влиять на производителей тех-же процессоров и не сделают поддержки новой технологии на уровне железа???

А по поводу оптимальности кода, только ручная огранка сможет дать самый оптимальный код, но у специалиста, я например не умею.
А насчет самих писателей:
> далеко ходить не надо, посмотрите что люди писали про работу
> провалившейся ЕГАИС. Как это было написано, на чем, сколько
> ресурсов требовало.

Я надеюсь что скоро силиконовики упрутся в технологические пределы и наступит эра собирать камни :-)

К сожалению не видно этих пределов, а ты стучиш себя пяткой в грудь предлагая язык, который несколько лет как без поддержки производителя, выбирать для серьезного и долгосрочного проекта.
А после висты выйдет что-то новое где плюнут на обратную совместимость вообще :-) и это новое будет не за горами
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 25.12.2007 (Вт) 19:24

Хакер
Твои инсинуации по поводу медленности псевдокода касаются только .NET или любого языка с промежуточной компиляцией?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.12.2007 (Вт) 19:25

т.е. ты хочеш сказать, что люди делают новую среду и хотят перевести на неё всю разработку и они заведомо закладываются на уменьшение быстродействия???

Люди, которые это делают, в отличие от тех людей, которые работали в Microsoft раньше, делают всё исключительно для того, чтобы заработать как можно больше денег. Уменьшение быстродействия можно умело скрыть засчёт быстрого железа и психологического на программиста влияния от удобной среды.

и при этом имеют возможность влиять на производителей тех-же процессоров и не сделают поддержки новой технологии на уровне железа???

А зачем эта технология? Она ничем не лучше уже имеющейся. Уже имеющаяся технология идеальна с точки зрения схематического устройства процессора (никогда не задумывался, почему нет инструкции mov [mem], [mem] ? если знаешь, как именно работает процессор - причина очевидна).

А по поводу оптимальности кода, только ручная огранка сможет дать самый оптимальный код, но у специалиста, я например не умею.

Любой, более-менее солидный компилятор делает эту оптимизацию. Это сложный интеллектуальный процесс, требующий значительного времени. Поэтому, компиляции происходит не мгновенно. Если .NET при компиляции Native-код из IL проводит эту оптимизацию, значит первый запуск происходит мучительно долго - это плохо. Если .NET тупо транслирует IL в Native-код (в одной из тем tyomitch показывает, что это легко осуществимо, а также, насколько отвратителен получаемый код) - то приложения работает медленно - это тоже плохо.
В любом случае .NET-приложение в процессе работы обращается к фреймворку, а тот в свою очередь - к винде. При этом, приложения могло бы сразу обращаться к винде, минуя фреймворк. Т.е. в любом случае, тратится время на ненужную цепочку вызовов через FW.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 25.12.2007 (Вт) 20:02

Хакер, можно долго доказывать друг другу преимущества одного языка перед другим, но ты в основном говоришь о быстродействии, поэтому спрошу еще раз: "Как насчет теста?"
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

След.

Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 6

    TopList