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

C#套接字服务器发送问题,c#,.net,sockets,C#,.net,Sockets,我有一个.net 2.0应用程序,它使用System.net.Sockets Send()方法定期(例如每分钟)发送数据。本质上,它是一个套接字服务器。大多数情况下,不会连接任何客户端来接收此数据,但偶尔用户会运行一个应用程序,该应用程序将连接以监控定期发送的数据。在每个间隔中,我最多发送1024字节的消息,而大多数消息都要小得多 我的问题是,在没有人接收的情况下,每分钟调用Send()对系统资源有什么影响?这最终会吞噬我所有的记忆吗?我已经读到windows套接字基于Berkeley套接字,它

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


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

在无人接收的情况下,每分钟调用Send()对系统资源有什么影响?

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

这会最终耗尽我所有的记忆吗?

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

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

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

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


-Adam

在无人接收的情况下每分钟调用Send()对系统资源有什么影响?

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

这会最终耗尽我所有的记忆吗?

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

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

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

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


-Adam

谢谢,我将添加代码以查看是否有人连接。我假设数据被丢弃了,因为在我的测试中,它只发送数据,没有抛出异常,我的进程mem使用率没有上升。没有异常吗?有趣的。。。现在我要做一些测试。祝你的项目好运!如果这个周末我有时间,我会安排一个测试。如果它重复自己,我会张贴代码。谢谢,我会添加代码,看看是否有人连接。我假设数据被丢弃了,因为在我的测试中,它只发送数据,没有抛出异常,我的进程mem使用率没有上升。没有异常吗?有趣的。。。现在我要做一些测试。祝你的项目好运!如果这个周末我有时间,我会安排一个测试。如果它重复自己,我会张贴代码。