MMORPG - сеетвые техФорум

Пишем свой MMORPG сервер. (комментарии)

#0
13:45, 20 мар 2007

Пишем свой MMORPG сервер. (комментарии)

Это сообщение сгенерировано автоматически.

#1
13:16, 14 авг 2007

Хорошие статьи, направление у нас пока совсем не развито, а это хорошая база. Можешь рассказать о твоих посылках к тому, чтобы писать своё именно на С++? Чем был плох оригинал на шарпе? Я не к тому, что зачем в принципе делать своё, а чем база на с++ лучше шарпа в данном случае?

#2
20:05, 14 авг 2007

RMX
имхо С++ даже сравнивать с С# нельзя.
потенциальная производительность хорошо написанного сишного сервера до 50 000 активных игроков на 4х процессорном сервере.

С# в лучшем случае на такой конфигурации 5-6 тысяч выдержит.
хотя я встречал утверждения типа "вы просто не умеете их готовить"

главное наверное в том что С++ я знаю достаточно хорошо и програмлю с 98 года. С# для меня пока остается сугубо экзотическим языком применения которому в своей деятельности я не вижу.

#3
12:20, 16 авг 2007

progman
Спасибо за мнение. Из профиля я понял что твой основной опыт - это интернет казино, да? Насколько казино близко или далеко от "типичной" mmo, например от той же рассмотренной тобой LineAge? И еще вопрос: расширял ли ты сервер вширь, т.е. кластер и какие технологии/решения применял для этого?

#4
23:47, 16 авг 2007

RMX
>progman
>Спасибо за мнение. Из профиля я понял что твой основной опыт - это интернет
>казино, да? Насколько казино близко или далеко от "типичной" mmo, например от
>той же рассмотренной тобой LineAge? И еще вопрос: расширял ли ты сервер вширь,
>т.е. кластер и какие технологии/решения применял для этого?
есть просто онлайн казино - то очень далеки. а если с мультиплеером, где люди играют, скажем в покер, друг против друга - то довольно близки по духу так сказать.

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

вообще проще нарастить мощность арендуемого сервера. вместо двухпроцессорного воткнуть четырехпроцессорный, памяти нарастить. БД очень память кушать любит и ее мало не бывает а на работу с БД существенная часть процессорного времени уходит.

#5
12:50, 27 окт 2007

никак не могу понять, может кто подскажет,

в статье есть такой момент (3я часть)

...
//обработчик полученных сообщений
//игровой пакет будет состоять из двух частей: заголовок ( 2 байта – размер всего пакет) и тела пакета, содержащее данные
// посему и считывается данные в два захода: сначала читаем 2 байта – размер данных, а затем сами данные
//и отправляем полученные данные в обработчик данных
//что с ними делать дальше – каждый решает сам
...
/*READ PACKET SIZE*/
  HRESULT hr = COverlappedSocket::OnRecive( m_hSocket, dwIndex, &m_RecvBuffer, &m_dwNumRecvBytes);
  if(S_OK != hr )
    return S_FALSE;

  WORD len = *(WORD*)&m_RecvBuffer.buf[0];
  m_RecvBuffer.buf = new char[len];
  m_RecvBuffer.len = len;
...

почему тут предполагается, что будет получено именно 2 байта, а не все то, что успел прислать клиент с прошлого чтения буффера ?

#6
13:22, 27 окт 2007

Dark
потому что нам вобщем то пофигу сколько реально байт успело прийти. читать мы будем только два, дабы узнать размер пакета который нужно прочитать полностью.

Прошло более 3 лет
#7
18:07, 16 фев 2011

Небольшой некропост :) progman, перезалей исходники пожалуйста, если они у тебя остались :)

MMORPG - сеетвые техФорум

Тема в архиве.