【发布时间】:2012-01-11 19:59:51
【问题描述】:
我有一个 C# 服务应用程序,它通过 UDP 接收文件并将它们保存到本地驱动器中。该应用程序在本地操作系统上运行良好,但是当它从 VM 运行时,我从 Socket 库和 IO 库中得到这些异常。
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,另一个?每个都有不同的限制,可能是相关的。请参阅此帖子:stackoverflow.com/questions/557879/… 我认为那里的答案暗示了您遇到的问题。在某些方面,VM 比真正的机器更受限制,因此您可能需要查看虚拟化平台的具体限制。
-
应用程序是发送还是接收异常?您的描述听起来像是它的接收,但该错误通常是您发送的错误。
标签: c# virtual-machine ioexception socketexception