2012-06-19 4 views
1

Я работаю над реализацией IRC на C#. Моя работа основана на IRC.NET, и у меня есть эта проблема, которая продолжает возникать. Согласно wirehark, моя сессия почти идентична X-Chat, где проблема не возникает. Проблема заключается в том, что после примерно 10 минут безупречной работы она перестает работать из ниоткуда. Исключения отсутствуют, но бот не может отправлять сообщения и ничего не видит с сервера. Я отвечаю на звонки и так правильно. Через некоторое время сервер (FreeNode) сообщает, что бот откололся, но клиент ничего не знает об этом.TCP Connection Stops Working

Это очень неприятная ошибка, и я понятия не имею, что ее вызывает.

EDIT:

Вот некоторые соответствующие ссылки:

Library my work is based on (я сделал очень мало изменений)

Основная часть соответствующего кода находится в IrcClient.cs

Вот большинство моих код для работы с библиотекой: Link

+1

Звучит очень похоже на переполнение буфера. Можете ли вы уменьшить его до составных частей, которые воспроизводят ошибку и не содержат больше кода? Если хотите, вы можете ссылаться на github repo или gist (http://gist.github.com). – jcolebrand

+1

Нам определенно нужно увидеть какой-то код, чтобы ответить на этот вопрос, в частности, как вы обрабатываете свои соединения. – Jacob

+0

Я обновил свой вопрос с помощью некоторых ссылок. –

ответ

0

Вы считаете что это может быть связано с сбором мусора? Было бы неплохо узнать, можете ли вы установить, собираются ли ваши server или timer объекты

+0

Я обновил код, чтобы сборщик мусора не забирал его. Такая же проблема возникает. Даже незнакомец, я получаю внутреннюю ошибку Mono, если я пытаюсь подключить соединение. –