2010-08-30 92 views
1

我遇到了一个问题,其中一个套接字似乎正在自行关闭。没有关闭被调用,本地端可以关闭套接字吗?

这里是(编辑)的网络诊断跟踪:

Exiting Socket#62696216::BeginSend() 
Exiting Socket#62696216::EndSend() 
Socket#62696216::BeginSend() 
Exception in the Socket#62696216::BeginSend - An established connection was aborted by the software in your host machine 

请注意,有一个成功的发送,然后有一个错误。错误表示套接字在本地关闭(即在主机上),但Close没有被调用。这是一个间歇性的错误,它只发生在一千次以上。

插座是如何闭合的?

我觉得必须有一个非常简单的答案,但它几个小时就没有了。任何帮助将非常感激。

谢谢

+0

可以EndSend关闭套接字?您的客户端应用程序是否尝试重新使用已关闭的套接字连接? – 2010-08-30 01:36:18

回答

0

可以是数字的东西.. -timeout - 值插座在主机上开启超出限制 -bug在你的代码

在没有看到代码或知道环境将难以确定。

0

这就是内核模式防病毒选择阻止传输时的样子。

0

这通常意味着两件事之一。要么你有一个防火墙或防病毒软件,认为你的程序是恶意的,或者(更有可能的话,如果它只发生一次)之前的一个发送超时,并使系统关闭套接字。据我所知,EndSend返回而没有发出错误信号的事实并不意味着数据已经实际传送到目标服务器。