forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   BlitzMax (http://forum.boolean.name/forumdisplay.php?f=104)
-   -   RakNet : большое время доставки пакетов (http://forum.boolean.name/showthread.php?t=5941)

GoodWin 24.04.2008 13:04

Ответ: RakNet : большое время доставки пакетов
 
а можно мну кусочек кода всего, что ты написал посмотреть... плиз... (у тя конечно на бмакс...) можно и в личку...

jimon 24.04.2008 13:18

Ответ: RakNet : большое время доставки пакетов
 
ууу там очень много кода, система сети занимает только 12 кб
а там еще и сервер и клиент

лутче обьясни что тебе не понятно ?

GoodWin 24.04.2008 13:44

Ответ: RakNet : большое время доставки пакетов
 
Цитата:

3) клиент получает ID_CONNECTION_REQUEST_ACCEPTED
после этого клиент может узнать индекс подключению к серверу
после подключения отправляем пакет инициализации на сервер
обычно в пакете задают информацию о типе програмы клиента,
её версии и прочего, иногда даже информация о шифровании

4) сервер получает пакет инициализации, из пакета получаем
индекс подключения и ищем такого игрока
записываем нужную информацию что пришла с пакетом
генерируем уникальный индекс для игрока (индекс подключения
лутче не использовать, черт его знает что случится сним)

и отправляем примерно такой же пакет инициализации игроку
в нем записываем id игрока, версию протокола и прочее

5) клиент получает пакет инициализации
и записывает из него свой id и прочую нужную информацию
можно было бы посылать ID с пакетом с типом ID_CONNECTION_REQUEST_ACCEPTED, но он , как я понимаю генерится автоматом... и в него не влезть...

самый простой пример... плиз... по логике я понимаю а в коде реализовать пока не получается... :(

Кажется я догнал... :) при инициализации пакет нужно отсылать конкретному клиенту...
RN_SendBitStream(peer, B, HIGH_PRIORITY, RELIABLE_ORDERED, 0, =(Здесь должен быть адрес клиента, его можно узнать с помощью RN_GetSystemAddressFromIndex)=, True).... поправьте меня если я ошибаюсь...

jimon 24.04.2008 18:47

Ответ: RakNet : большое время доставки пакетов
 
GoodWin
правильно, пакета инициализации нету в raknet'е, его самому надо сделать
для етого лутче использовать bitstream

GoodWin 24.04.2008 21:05

Ответ: RakNet : большое время доставки пакетов
 
а как ты генерируешь уникальный индекс для игрока?

jimon 24.04.2008 21:59

Ответ: RakNet : большое время доставки пакетов
 
хоть так
Код:

global last_index%

function NewIndex%()
last_index = last_index+1
return last_index
end function


GoodWin 24.04.2008 22:05

Ответ: RakNet : большое время доставки пакетов
 
Цитата:

Сообщение от jimon (Сообщение 80019)
хоть так
Код:

global last_index%
 
function NewIndex%()
last_index = last_index+1
return last_index
end function


Так просто? я тормоз...

ІГРОГРАЙКО 15.10.2009 09:23

Ответ: RakNet : большое время доставки пакетов
 
JIMON ты знаеш еще какие нибудь либы протокола UDP но на С++?

jimon 17.10.2009 01:04

Ответ: RakNet : большое время доставки пакетов
 
ІГРОГРАЙКО
особо не интересовался, raknet хватило с головой

genroelgvozo 14.06.2010 16:29

Ответ: RakNet : большое время доставки пакетов
 
кстати насчет внутренних ip
используйте хамачи и тогда без проблем можно работать с ip адресами

Crayzi 13.08.2010 21:16

Ответ: RakNet : большое время доставки пакетов
 
Я так пошарился по сайту ракнета, и надыбал там что он вроде как бесплатный пока на нем не разаботаеш толи 250 баксов, толи 250 К баксов (всмысле 250 000?), кто получше шарит в инглише чем я, или кто вникал в суть дела, объясните плз, ато либа интересная, только лицензия для мя остается загадкой... и эт мя смущает както...

pax 14.08.2010 10:39

Ответ: RakNet : большое время доставки пакетов
 
Там написано, что пока твой доход не станет больше $250K долларов, то применима бесплатная лицензия. А чтобы узнать цену на одиночный проект или на интеграцию в движок, тебе надо связаться с ними. Вроде так.

Crayzi 16.11.2010 18:03

Ответ: RakNet : большое время доставки пакетов
 
Хмм, начал доходить до тестов своего проэкта и столкнулся с проблеммой, если послать текст длиной примерно в 250 КБ то он очень долго доставляется даже в пределах моего компа (гдето 2-3 сек.), хотя поидее должен приходить мгновенно или я в чем то ошибаюсь?
П.с. Никто не в курсе как архивировать отправляемые данные? Ато у меня с этим туговато...

moka 16.11.2010 18:36

Ответ: RakNet : большое время доставки пакетов
 
Технически не знаю, но мне кажеться из-за попытки доставить такой большой объём данных, в один раз, будет проблематично.
ИМХО, если на техническом уровне сетевого движка это не реализованно, то отправлять подобное нужно по частям, тогда механизм доотправки, будет доотправлять только не доставленный кусочек, а не всё сразу.
Пытался настроить связь на динамичном IP, и через всякие ISP и т.п. дряни, в общем удалось от части. Но только 1 из 10 раз, нормально соединяется, и пакеты доставляются, а в другом случае, идёт отправка например с сервера - не доставляется, далее отправляю с клиента, он доставляется, и тогда снова с сервера доставка работает. В общем, ересь какая-то, хз, логически всё правильно.
Хотя по локалке всё работает отлично..

Crayzi 17.11.2010 06:58

Ответ: RakNet : большое время доставки пакетов
 
У меня была даже чуть другая проблемма, когда посылалось большое количество пакетов то они начинали приходить с нарастающей задержкой, но всему виной была функция WaitTimer(T%)...


Часовой пояс GMT +4, время: 23:30.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot