Я изучаю перенос приложения .NET C# из Windows в Linux с помощью Mono. Проблема, с которой я столкнулся, заключается в том, что асинхронные вызовы сокетов TCP не работают. Это означает, что я могу отправлять данные без каких-либо проблем, но я только могу получить самый первый ответ сокета (через Socket.BeginReceive()). Следующий BeginReceive() помещает поток в состояние ожидания.Асинхронные вызовы сокетов не работают в Mono/Linux
В принципе, наш код сокета содержит ошибку, но поскольку он работает безупречно в Windows в течение многих лет.
Спасибо
Не могли бы вы предоставить небольшую автономную программу, которая дублирует вашу проблему? –
Конечно, я сейчас воспроизвел проблему именно в такой программе. Конечно, он по-прежнему использует наш сервер, который будет недоступен вам. Однако протокол очень прост, как вы увидите. – alexk
Извините, до сих пор не могу освоить этот сайт :-(Ссылка на программу http://www.sendspace.com/file/ptmwyy – alexk