Сообщений: 2,303
Тем: 24
Зарегистрирован: Sep 2010
Репутация:
5,617
linliss Написал:Вы не поняли...
Сделайте так: запустите логин сервер, введите ак и пас, появляется окно с лицензией, вырубите логин сервер, вуаля, появляется "Связь с сервером прервалась, бла бла бла", вот это мне и нужно - закрыть конект как будто бы я выключил сервер, чтоб вылезло "Связь с сервером прервалась".
Просто закрыв сокет клиента, получить такой-же результат неполучается...
Яж написал, что ДО перехода на ГС, клиент не может физически отобразить сообщение о дисконнекте.
Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
ANZO Написал:Яж написал, что ДО перехода на ГС, клиент не может физически отобразить сообщение о дисконнекте. тогда попробую простенький логин сервер на с++ сделать... мне кажется все дело в яве...
Сообщений: 631
Тем: 12
Зарегистрирован: May 2009
Репутация:
3,873
На сколько мне известно на l2j hi5 если где-то за минуту не выбрать сервер, то появляется именно такое сообщение.
Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
12-04-2012, 09:34 AM
(Сообщение последний раз редактировалось: 12-04-2012, 11:35 AM linliss.)
kingzor Написал:На сколько мне известно на l2j hi5 если где-то за минуту не выбрать сервер, то появляется именно такое сообщение. сейчас попробуем..
Добавлено через 10 минут
kingzor Написал:На сколько мне известно на l2j hi5 если где-то за минуту не выбрать сервер, то появляется именно такое сообщение. Код: if ((client.getConnectionStartTime() + LOGIN_TIMEOUT) < System.currentTimeMillis())
{
client.close(LoginFailReason.REASON_ACCESS_FAILED);
}
это не то что нужно...
Добавлено через 2 часа 1 минуту
Кто ковырял клиент, может знаете почему клиент понимает, что связь потеряна только если выключить логин сервер? Почему при закрытии сокета в клиенте 0 реакции, но если выключить селектор он сразу же понимает, что связи нет?
Сообщений: 526
Тем: 28
Зарегистрирован: Oct 2009
Репутация:
7,209
попробуй так закрыть соединение
Код: getConnection().close((SendablePacket<L2LoginClient>) null);
Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
MHard Написал:попробуй так закрыть соединение
Код: getConnection().close((SendablePacket<L2LoginClient>) null);
Сервер закрывает соединение, у клиента 0 реакции, я уже пробовал так.
Сообщений: 2,036
Тем: 37
Зарегистрирован: Jun 2011
Репутация:
10,597
В какой-то лыжиподобной сборке, вроде опенсурсном Опене, есть "защита об ботов", которая дисконнектит именно с таким окном. Можно там глянуть, вдруг будет то, что надо. (:
Сообщений: 526
Тем: 28
Зарегистрирован: Oct 2009
Репутация:
7,209
к сожалению лыжа не стоит проверить не могу.
но можно попробовать принудительно закрыть сокет без отправки каких либо пакетов.
в src\org\mmocore\network\MMOConnection.java
сделай функцию доступной (public)
Код: [color=Red]public[/color] final void close() throws IOException
{
_socket.close();
}
и закрывай соединение
getConnection().close();
если получится то переделай немного закрытие клиента чтобы выполнялись необходимые дейстия из
closeConnectionImpl
Цитата: con.releaseBuffers();
// clear attachment
key.attach(null);
// cancel key
key.cancel();
Сообщений: 1,759
Тем: 13
Зарегистрирован: May 2011
Репутация:
3,205
12-04-2012, 12:48 PM
(Сообщение последний раз редактировалось: 12-04-2012, 01:14 PM linliss.)
MHard Написал:к сожалению лыжа не стоит проверить не могу.
но можно попробовать принудительно закрыть сокет без отправки каких либо пакетов.
в src\org\mmocore\network\MMOConnection.java
сделай функцию доступной (public)
Код: [color=Red]public[/color] final void close() throws IOException
{
_socket.close();
}
и закрывай соединение
getConnection().close();
если получится то переделай немного закрытие клиента чтобы выполнялись необходимые дейстия из
closeConnectionImpl Я уже выше писал, что пробовал принудительно закрывать сокет(именно так как вы и предложили), в клиенте все равно ничего непоявляется .
Добавлено через 26 минут
Dеmon Написал:В какой-то лыжиподобной сборке, вроде опенсурсном Опене, есть "защита об ботов", которая дисконнектит именно с таким окном. Можно там глянуть, вдруг будет то, что надо. (: была б она у меня... можно было бы глянуть что там...
Сообщений: 86
Тем: 2
Зарегистрирован: Sep 2010
Репутация:
757
Wireshark и глянуть, что по tcp идет на отрублении. Врядле вы этим сможете управлять. С SO_LINGER и другими опциями не игрались?
|