Взял исходники haxevideo.
Стал переписывать под себя, благо ГПЛ, и код более-менее внятный.
И первые же сексперименты на сервере показали, что это развлечение имеет смысл по затрачиваемым ресурсам.
Стало необходимо различать клиентов пришедших по IP на стороне сервера.
Ощутил себя кретином - не могу найти в документации на Haxe/Neko, откуда взять IP приконнектившегося клиента.
Подскажите, пожалуйста.
Если всё получится, стану неко-хостером. У меня три собственных хостинговых сервера. :)
Sergej Qkowlew AKA Ночной Сторож AKA Radahnar
Re: Remote IP в коде сервера...
Тоже пару дней назад посвятил несколько часов экспериментам с haXeVideo на стороне сервера.
Не могу сказать, что во многом разобрался, тоже появилось немало вопросов, некоторые из которых задал в рассылку. К сожалению, по большинству из них Николя ответов дать пока не смог, только по SharedObjects обнадёжили, что некий Russell Weir как раз только что написал патч, который добавит их функционал в следующую версию.
По структуре сервера Николя написал следующее:
В данный момент логика и протокола и клиента соединяется в одном классе. Для следующей версии я постараюсь разделить их и сделать удобный API с которым вам останется только расширить базовый клиент и добавить необходимую своему приложению функциональность. Это сделает кастомизацию haXeVideo гораздо более лёгкой.
Вопроса по определению IP на стороне сервера среди моих не было, т.к. в тестах он был пока не принципиален. А вообще да, странно что этих данных нет в том объекте, который получает сервер при коннекте, хотя тот же referrer есть. В FMS есть просто свойство client.ip, здесь же первой моей мыслью было то, что эта инфа должна как-то доставаться из сокета, но просмотр API neko.net.Socket ничего не дал, а сам я с сокетами практически не знаком.
Так что отписал ещё один вопрос в рассылку - если ответят что полезное - отпишу здесь.
Re: Remote IP в коде сервера...
Ну конструкция получилась пусть и не очень приятной на вид, но вменяемой. :)
Я просто стал в new класса Client брать socket.peer().host.toString() и сравнивать его с нужным мне IP и создал булевую переменную для сохранения результата оной проверки.
Вообще - в документации по Haxe попросту отсутствует сколько-нибудь внятный текст о том, каков смысл, или, например, каков диапазон значений в соответствующем поле... :( "Догадайся, мол сама", что нужно писать в mode http://haxe.org/api/flash9/filters/DisplacementMapFilter ...
Или я такой тупой, или что? :( http://haxe.org/api/flash9/filters/BitmapFilter
Re: Remote IP в коде сервера...
да, socket.peer().host.toString() Николя и сказал использовать для этого.
а насчет документации по haXe - это естественно. Автор на данный момент в одиночку создаёт язык, на него не работают писатели документации. Доки сгенерированы автоматически, насколько я понимаю.
Конкретно по твоим примерам это же API Flash9, по нему всё подробно изложено в доках Adobe. Например - http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/filters/...
p.s. а вообще для того и создавался haxe.ru, чтобы совместно собирать информацию. так что приглашаю к сотрудничеству ;)
Отправить комментарий