远程主机强行关闭了现有连接 - c#

我正在使用一个商业应用程序,该应用程序会在消息中抛出SocketException,

远程主机强行关闭了现有连接

客户端和服务器之间的套接字连接会发生这种情况。该连接仍然运行良好,并且正在传输大量数据,但是随后连接断开。

有人看过吗?原因可能是什么?我可以猜测出一些原因,但是有没有办法在此代码中添加更多内容来找出可能的原因呢?

欢迎任何意见/想法。

... 最新的 ...

我从.NET跟踪中获得了一些日志记录,

System.Net.Sockets Verbose: 0 : [8188] Socket#30180123::Send() DateTime=2010-04-07T20:49:48.6317500Z

System.Net.Sockets Error: 0 : [8188] Exception in the Socket#30180123::Send - An existing connection was forcibly closed by the remote host DateTime=2010-04-07T20:49:48.6317500Z 

System.Net.Sockets Verbose: 0 : [8188] Exiting Socket#30180123::Send() -> 0#0

根据日志记录的其他部分,我已经看到一个事实,即它说“ 0#0”表示正在发送一个0字节长度的数据包。但这到底是什么意思?

有两种可能性之一,我不确定哪一种,

1)正在关闭连接,但是随后将数据写入套接字,因此产生了上述异常。 0#0仅仅意味着什么都没发送,因为套接字已经关闭。

2)连接仍处于打开状态,并且正在发送零字节的数据包(即代码中有错误),而0#0表示正在尝试发送零字节的数据包。

你怎么看?我猜这可能尚无定论,但也许其他人已经看到这种情况了?

参考方案

这通常意味着远程端关闭了连接(通常通过发送TCP / IP RST数据包)。如果您使用的是第三方应用程序,则可能的原因是:

您正在向应用程序发送格式错误的数据(其中可能包括向HTTP服务器发送HTTPS请求)
客户端和服务器之间的网络链接由于某种原因而断开
您在第三方应用程序中触发了导致其崩溃的错误
第三方应用程序耗尽了系统资源

第一种情况很可能正在发生。

您可以启动Wireshark来查看线路上正在发生的事情,以缩小问题的范围。

没有更多具体信息,这里的任何人都不可能真正为您提供帮助。

从JAVA调用方法C#.NET - java

我有一个C#.NET项目中创建的dll,我想从Java程序中调用方法。我想知道是否存在实现此目标的机会,然后遇到了JNA和JNI。我应该使用哪一个?有什么建议么?我只需要在使用C#.NET编写的类中调用方法并处理Java程序的结果即可。 参考方案 这取决于您的应用程序,但是您可以将C#DLL放在服务中,例如WCF并以这种方式将功能公开给Java代码。使用ws…

从ASP.NET 1.1转换为ASP.Net 3.5后,单选按钮停止工作 - javascript

[我在下面以FYI的形式发布我们的问题和解决方案。如果您有Microsoft或代表机构对此问题的正式声明,我会将其标记为答案。否则,我下面的帖子将作为答案]。问题:我们采用了ASP.Net 1.1程序,并将其转换为ASP.Net 3.5。该页面最初正确显示,默认情况下选中一个单选按钮,并显示一个项目列表(“列表A”)。当我们单击另一个单选按钮时,它将正确显示…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

在ASP.NET MVC中创建数据库回调的最有效方法 - c#

我有一个ASP.NET MVC网页,该网页基本上通过日期过滤器显示MS SQL数据库中表的行。当新行插入数据库表时,我想用新行列表更新网页视图。实现此目标的最有效方法是什么?基本上,我想从我的JavaScript创建一个到数据库服务器的回调,以用新结果更新UI。假设数据库表中的行数很大。(〜1百万)谢谢,cas 参考方案 如果数据库更新非常频繁,则可以按特定…

如何使用JavaScript访问嵌入式ASP.NET GlobalResources? - javascript

我正在开发一个遗留的ASP.NET项目,该项目正试图缓慢地进行调整,但是如果没有像巧克力手指屋一样塌陷的情况,我将无法进行重大更改。我试图为此找到解决方案,但由于术语的特定混合(“ javascript”,“ embedded”和/或“ resource”只是为我提供了有关如何嵌入.js文件的信息,而失败了)。 。),这可能是一种怪异的处理方式。该项目将Ap…