2014-01-16 2 views
1

Я запускаю java irc bot для twitch chat. Иногда я получаю ASCII-арт-сообщения, которые разбивают бота. Я сделал трассировку стека на него, и это то, что я получаю:Сброс соединения, когда большой ASCII как UTF-8 msg отправляется в чате IRC

java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(Unknown Source) 
    at java.net.SocketInputStream.read(Unknown Source) 
    at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) 
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source) 
    at sun.nio.cs.StreamDecoder.read(Unknown Source) 
    at java.io.InputStreamReader.read(Unknown Source) 
    at java.io.BufferedReader.fill(Unknown Source) 
    at java.io.BufferedReader.readLine(Unknown Source) 
    at java.io.BufferedReader.readLine(Unknown Source) 
    at com.ircbot.Bot.InputThread.run(InputThread.java:69) 

ГЗС похож на это: ░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

В блокноте ++ указано длина: 943 и ASCI как UTF-8. Мне интересно, закрывается ли соединение с сервером или закрывается клиентское соединение из-за длины сообщения msg. Когда я обрезаю ASCI-арт вниз на 4 символа, msg проходит без сброса соединения.

Любые идеи?

ответ

0

У меня возникло ощущение, что вы отключились из-за flooding the channel. На популярных серверах IRC довольно часто используются такие ограничения.

+0

Мой бот был случайным образом отключен. Через некоторое время я заметил, что это произошло после того, как люди разместили искусство ASCII. Я отправил своего бота на свой собственный канал и протестировал его. Мне не нужно было заливать его, только один мс, как и выше, заставил бота отключиться со следующей трассировкой стека. – Rawr

+0

О, хорошо. И вы пытались поэкспериментировать с длиной сообщения? Разве один простой шар достаточно, чтобы разбивать вашего бота? – rlegendi

Смежные вопросы