Ошибки текущей версии хаба, Обнаруженные ошибки публикуются в этой теме |
Здравствуйте, гость ( Вход | Регистрация )
Ошибки текущей версии хаба, Обнаруженные ошибки публикуются в этой теме |
15.9.2013, 21:28
Сообщение
#141
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
В релизной версии? Если нет, то реквестирую багфикс-релиз.
|
|
|
15.9.2013, 21:32
Сообщение
#142
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
А каким именно образом ты отсылаешь raw-команду?
Да, в релизной. Ты вообще отправляешь на хаб команду $Quit <ник> ? |
|
|
15.9.2013, 21:35
Сообщение
#143
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Блин, моя ошибка ведь... это же не клиентская команда... ;(
Приношу извинения за ложную тревогу и ввод в заблуждение. Получается, что через OnAny не узнать о выходе пользователя с хаба? |
|
|
15.9.2013, 21:42
Сообщение
#144
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Возможны ты неправильно понимаешь суть команды.
Цитата Данная команда отсылается хабом для того, чтобы клиент удалил разъединившегося пользователя из своего списка пользователей. То есть команда отсылается в направлении хаб -> клиент(ы). Событие OnAny работает только в направлении клиент -> хаб (тоже самое касается и любых других функций-событий, они все работают исключительно в направлении клиент -> хаб, то есть ловят команды, которые отсылает клиент, а не хаб). Поэтому в твоём случае OnAny отработает если клиент отошлет на хаб команду $Quit Да, через OnAny не узнать о выходе. При выходе пользователя на хаб отсылается пустая команда (команда с размером 0 по протоколу tcp). Для отлова выходов нужно юзать OnUserDisconnected или OnUserExit |
|
|
15.9.2013, 21:46
Сообщение
#145
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Меня что-то переклинило на названии команды и на отсутствии других подходящих отлавливаемых OnAny команд. А так я в курсе команды и её назначения =)
Проверил, отослал клиентом команду $Quit и везде всё поймалось и клиент выкинуло с хаба. Всё правильно. Да, через OnAny не узнать о выходе. При выходе пользователя на хаб отсылается пустая команда (команда с размером 0 по протоколу tcp). И это нелогично. Исходя хотя бы из самого названия, отражающего предназначение функции, OnAny должна ловить всё, вообще всё. Даже команды с длиной 0. |
|
|
16.9.2013, 19:52
Сообщение
#146
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
OnAny ловит все команды протокола NMDC (протокола высокого уровня), в том числе и пустую команду протокола, которая является командой пинга в современных DC клиентах.
Пустая команда (FIN) - имелось ввиду в протоколе TCP. |
|
|
31.3.2014, 22:40
Сообщение
#147
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
В 2.3.10 сломан приём $SR по UDP или я что-то делаю неправильно?
Код function OnAny(UID, sData, iType) if sData:find('$SR',1,true) then Report(iType.." "..sData) end end Код <Item Name="bUDPServer">1</Item> <Item Name="sUDPAddresses">0.0.0.0:2109</Item> Первый запрос сделан клиентом и ответ ему пришёл, второй запрос сделан скриптом и вышеприведённая конструкция ответ не увидела. Код 23:38:50 Hub: [Incoming][127.0.0.15:411] $Search 127.0.0.1:3488 F?T?0?1?pad.png
23:40:33 Hub: [Incoming][127.0.0.15:411] $Search 127.0.0.1:2109 F?T?0?1?pad.png |
|
|
5.4.2014, 23:11
Сообщение
#148
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Проверил на 2.4.0[beta], у меня все работает. Главное чтобы у клиента был файл, который ищем.
Напомню, что через хаб (по TCP) проходят только результаты пассивного поиска, результаты же активного поиска идут между клиентами напрямую по UDP протоколу. Для того чтобы ловить активные поисковые запросы хаб прикидывается клиентом и рассылает всем клиентам команду активного поиска, а при помощи UDP сервера принимает от этих пользователей результаты поиска. Код function OnAny(UID, sData, iType)
if sData:find('$SR',1,true) then print(iType) -- 5 - $SR (UDP), 4 - $SR (TCP) print(sData) end end function OnChat(tUser, sData) if sData:find".*!search" then Core.SendToAll("$Search 10.10.10.1:1209 F?T?0?9?TTH:DZDHTKOTCYUEZPMCQMN7NJ4SZUSCFXLKCRJTX2Q|") end end |
|
|
29.7.2014, 22:44
Сообщение
#149
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Настройка sAddresses из Lua не меняется:
Код print(Core.SetConfig("sAddresses", "0.0.0.0:1209 127.0.0.155:1209")) -->nil config was not found XP SP3 Hub version: RusHub 2.3.10 Jul 10 2012 11:11:36 Lua plugin: LuaPlugin 2.9 Lua version: Lua 5.1 |
|
|
30.7.2014, 10:40
Сообщение
#150
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Да, некоторые настройки пока не меняются налету, и адрес в их числе. Даже на вики этот момент описан.
|
|
|
30.7.2014, 20:58
Сообщение
#151
|
|
7 квадратиков Группа: Модераторы Сообщений: 793 Регистрация: 21.1.2009 Пользователь №: 1 895 Спасибо сказали: 301 раз |
Да, некоторые настройки пока не меняются налету, и адрес в их числе. «Огласите, пожалуйста, весь список!» Даже на вики этот момент описан. Еле нашёл такое в описании функции, помеченной как „устаревшая“ для настроек, объявленных „устаревшими“. [offtopic]Какие вообще новости то?[/offtopic] |
|
|
Похожие темы
|
Сейчас: 30.10.2024, 19:08 |