2012-01-11 4 views
0

У меня есть приложение-служба C#, которое получает файлы через UDP и сохраняет их на локальном диске. Приложение отлично работает в локальной ОС, но когда оно выполняется из виртуальной машины, я получаю эти исключения из библиотеки Socket lib и IO lib.Ошибка создания программы при работе на виртуальной машине

System.Net.Sockets.SocketException (0x80004005): An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full 

System.IO.IOException: Insufficient quota to complete the requested service. 

Я протестировал дисковое пространство, но это на 80% бесплатно. Также Ram на виртуальной машине установлен на 2 ГБ. У меня есть Google, но я не могу найти много на эту тему.

@ David Stratton:
Информация о системе VM: Использование ESXi 4.1 хостовой ОС Windows 2003

@ Сет Noble
Ваше право. Первое исключение возникает при отправке пакета в источник. И второе исключение IO, когда оно получает пакеты для записи на диск.

+1

Какой тип ВМ? Виртуальный ПК, Oracle VirtualBox, другой? Каждый из них будет иметь разные ограничения и что *** может быть релевантным. См. Это сообщение: http://stackoverflow.com/questions/557879/why-am-i-getting-this-socketexception-in-my-c-sharp-service Я думаю, что ответ там дает намек на то, что вы иметь. В некоторых отношениях виртуальная машина немного ограничена, чем истинная машина, поэтому вам может потребоваться изучить конкретные ограничения вашей платформы виртуализации. – David

+0

Является ли приложение, предоставляющее исключение для отправки или получения? Ваше описание похоже на его получение, но эта ошибка, как правило, вы получите для отправки. –

ответ

0

Если это происходит только в VM, это, скорее всего, проблема с реализацией некоторых функций реального программного обеспечения VM, и можно с уверенностью предположить, что это связано не с ошибкой программирования с вашей стороны.

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