Асинхронные обратные вызовы сокетов не работают в Mono / Linux - PullRequest
1 голос
/ 09 февраля 2011

Я изучаю перенос приложения .NET C # с Windows на Linux с использованием Mono.Проблема, с которой я застрял, заключается в том, что асинхронные вызовы сокетов TCP не работают.Это означает, что я могу отправлять данные без проблем, но мне кажется, что я могу получить только самый первый ответ из сокета (через Socket.BeginReceive ()).Следующий BeginReceive () переводит поток в состояние ожидания.

В принципе возможно, что наш код сокета содержит ошибку, но так как он работает безупречно в Windows в течение многих лет.

Спасибо

Ответы [ 2 ]

1 голос
/ 10 февраля 2011

Отлично работает с веткой mono-2-10 (скоро будет выпущен как Mono 2.10) и master.

Mono 2.6.7, поставляемый с Ubuntu, дает сбой, как и Mono 2.8. Я нашел проблему и проверяю исправление. . Следующие выпуски в серии 2.6.x будут исправлены (также 2.8.x, если таковые имеются, так как мы переходим на 2.10 через несколько дней).

Кстати, вы должны сообщать о проблемах в Mono, следуя указаниям http://mono -project.com / Bugs , а не здесь.

0 голосов
/ 09 февраля 2011

Если вы используете синхронный сокет, все ли работает как положено?Это быстрый способ помочь сузить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...