C#套接字服务器发送问题

时间:2009-02-26 20:20:23

标签: c# .net sockets

我有一个.net 2.0应用程序,它使用System.Net.Sockets Send()方法定期发送数据,例如每一分钟。本质上它是一个套接字服务器。大多数情况下,没有客户端连接以接收此数据,但有时用户将运行应用程序,该应用程序将连接以监视定期发送的数据。在每个间隔,我将发送的最多将是大约1024个字节,大多数消息要小得多。

我的问题是对系统资源有什么影响,每分钟调用Send()而没有人接收它?这会最终吞噬我的所有记忆吗?我已经读过Windows套接字基于Berkeley套接字,它创建了一个文件描述符。是否有一些低级标准输出(stdout)正在执行,而未收到的数据只是进入黑洞?

1 个答案:

答案 0 :(得分:1)

对系统资源的影响是每分钟调用Send()而没有人接收它?

应该是none - 它应该抛出错误,因为套接字未打开。

这最终会占用我所有的记忆吗?

不,它应该只是抛出一个错误。

是否有一些低级标准输出(stdout)正在执行,而未收到的数据只会进入黑洞?

数据确实被丢弃了,如果你注意了,你会看到错误。

在发送之前,您应首先检查套接字是否已打开。如果没有人连接,请不要发送。一个额外的if语句。

- 亚当