0
我有一個C#服務應用程序,它通過UDP接收文件並將它們保存到本地驅動器中。該應用程序在本地操作系統上運行良好,但是當它從VM運行時,我從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%免費的。此外,VM上的Ram設置爲2GB。 我已經谷歌,但無法找到很多關於這個話題。
@大衛·斯特拉頓:
信息有關VM系統: 使用ESXi 4.1的 主機操作系統windows 2003
@塞斯·諾布爾
你的權利。發送數據包到源時會發生第一個異常。 第二個IO異常當它收到要寫入磁盤的數據包時。
什麼類型的虛擬機? Virtual PC,Oracle VirtualBox,另一個?每個人都有不同的限制,並且***可能會有相關性。看到這篇文章:http://stackoverflow.com/questions/557879/why-am-i-getting-this-socketexception-in-my-c-sharp-service我認爲那裏的答案給你一個提示暗示'有。在某些方面,虛擬機比真實機器更有限,所以您可能需要查看虛擬化平臺的具體限制。 – David 2012-01-11 20:04:55
應用程序是否正在發送或接收異常?你的描述聽起來像是接收,但是那個錯誤通常是你發送的。 – 2012-01-12 19:57:18