- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我该怎么办?关闭 socket ?我看不到问题,谷歌没有帮助
什么会导致此错误?据我了解,这是系统类型异常。
Console.WriteLine("Connection Recieved");
while (true)
{
var handler = socket.Accept();
try
{
while (handler.Connected)
{
var x = new byte[200000];
try
{
handler.Receive(x);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.InnerException);
Console.WriteLine(ex.StackTrace);
}
var command = new string(Encoding.UTF8.GetChars(x.Where(t => t != 0).ToArray()));
if (string.IsNullOrEmpty(command))
{
break;
}
var data = (Dictionary<string, object>)JsonConvert.DeserializeObject(command, (typeof(Dictionary<string, object>)));
if (data["command"].ToString() != "getLog") continue;
var response = GetStatus();
handler.Send(Encoding.UTF8.GetBytes(response));
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.InnerException);
Console.WriteLine(ex.StackTrace);
}
}
最佳答案
在处理各种断开连接(软 transient :例如超时,可恢复:例如超过预付费数据计划限制, transient 硬件:纤薄的联想 rj45 插孔松动,不可恢复的硬件)时,“具有多层协议(protocol)的良好抽象网络”。 ..
这是一个很难解决的问题,因为库、开发人员和最终用户对于错误条件都有不同的需求,这取决于库或应用程序的类型或所涉及的使用情况。
John Carmack 刚刚发布了一些关于“abstractions 5uck”的推文,但在网络中,每个人都重新实现 TLS 或其他什么是不合理的。可以查看什么类型的接口(interface)是实用的(一些 C 人可能因为这些错误流问题而反对流).. 以及错误和警告在运行时如何流动,库编写者是否可以为编译器添加“编译器”的提示在开发过程中“流动”,这样开发人员就会收到有关哪种类型的错误可能从较低级别传播的警告,并通过抽象传播(如果有)。多个返回值为错误、状态、警告传播提供了一种方式,但异常的支持者认为,不抛出异常时会更快,但这可能归结为语言和编译器实现——例如。 jit 可以转向在热循环中使用异常并将异常转换为传播错误等。
当我开始使用 C# 时,我遇到的第一件事是如何处理所有可能的断开连接,并发现.. 是的 BCL/C# 看起来不错,但魔鬼在细节和令人惊讶的运行时异常,这些异常不同并且从不同的地方弹出取决于超时/断开/电缆拔出/硬件故障等可能是语言和库可以用作“用例”来构建语言和标准库(以及错误、状态等流范式)的“用例”,这样它们的用户更好地了解这些,而不必猜测哪个错误或异常以及它可能从哪里支撑。现在尝试提前添加错误处理是很困难的,并且其中一些情况越来越少(笔记本电脑中出现故障的 rj45 端口 - 大部分时间都有效) - 或者像 Surface Books 可拆卸显示器这样的东西,你从一个 GPU 转换到另一个等
这些东西很难,抽象通常会使情况变得更糟,但我们还需要一些抽象(如网络协议(protocol)等)。
事实上,这东西太难了,如果你去寻找它,关于“如何为非 John Carmack 级别程序员的人做更好的事情”这方面的文章并不多。我看到一个演示文稿暗示函数式编程可以有一些答案,但它并没有深入探讨网络中可能发生的所有事情,所以我没有 100% 相信这是答案,但这是一个开始。
https://vimeo.com/113707214
那是我看到的演示文稿,但是,是的,该模型能否适用于我根据需求概述的所有内容(以及可能的更多内容)?
关于c# - 套接字错误 : An existing connection was forcibly closed by the remote host,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42439656/
我正在开发我的应用程序之一的新版本,Time Out,它使用登录项帮助程序进行安排。我的几个 alpha 测试人员报告内存泄漏和 CPU 使用率过高...但我也无法重现。 特别是,他们提到了性能低下以
我已经创建了一个多线程 TCP 服务器。当客户端断开连接时,我收到 “现有连接被远程主机强行关闭”错误。 除了捕获错误之外,处理远程客户端断开连接的最佳方法是什么? 最佳答案 假设您的服务器正在处理连
我已经在 Windows 中安装了 android-studio。但每次重建/运行/项目时都会出现此错误。 An existing connection was forcibly closed by
我正在Windows中使用最新版本的docker。 linux容器运行顺利,但是我遇到了以下问题 wsarecv: An existing connection was forcibly closed
我使用 Visual Studio 2010 和 MS SQL Server 2005。我是 WCF 的新手,我正在尝试在开发小型任务管理应用程序时学习。 目前我有一个解决方案,里面有两个控制台应用程
我在我的 Debian Wheezy 构建服务器上创建了一个 SVN 存储库,遵循 this tutorial。 .svn --version给 1.6.17 . 可悲的是,我不能再从我的 Windo
我该怎么办?关闭 socket ?我看不到问题,谷歌没有帮助 什么会导致此错误?据我了解,这是系统类型异常。 Console.WriteLine("Connection Recieved");
我在向列插入大值时遇到问题,值byte[] 长度为 25130744(从 DataSet 转换为 byte[]),并给我一个异常:IOException:无法从传输连接读取数据:现有连接被远程主机强制
当我尝试从 morizon.pl 下载源代码页面时遇到问题: WebClient webClient = new WebClient(); try { string str
我有一个自托管的WCF服务,还有几个客户端进程...一切正常,客户端启动,进行多个服务调用,然后退出。但是,在服务器上,每次客户端应用程序关闭时,我的错误日志(我从System.ServiceMode
在使用 boost asio 时,我偶然发现了一些我不太理解的奇怪行为。我写了一个最小的测试程序来重现这个问题: #include #include using boost::asio::ip::
我正在尝试连接我的 HTC Wildfire,我已激活(USB 调试)并将其连接到电脑,但 Eclipse 无法识别它 那个错误:Adb 连接错误:现有连接被远程主机强行关闭 我重置了 adb 但出现
我想为我的公司项目创建一个团队基础构建,我在服务器上安装了构建 Controller 和构建代理,然后在 visual studio 中创建了构建定义,但是当我想运行这个构建(队列)时,我得到了这个错
有什么可以帮我解决这个问题吗? 当我试图在 linux 中访问 apache subversion 时遇到了这个问题 “现有连接被远程主机强行关闭”,我无法通过谷歌搜索解决方案可以帮助我解决这个问题
当我通过 HTTP 传输大约 50Mb 的文件时有时我会收到此错误: 无法从传输连接读取数据:远程主机强行关闭了现有连接。 首先,我在 http://stackoverflow.com 下找不到任何解
我有一个更新服务器,它通过 TCP 端口 12000 发送客户端更新。单个文件的发送仅在第一次成功,但之后我在服务器上收到错误消息“无法将数据写入传输连接: 现有连接被远程主机强行关闭”。如果我在服务
我正在编写一个脚本来下载一组文件。我成功地完成了这个并且它工作得很好。现在我尝试添加下载进度的动态打印输出。 对于小型下载(顺便说一下,它是 .mp4 文件),例如 5MB,进度效果很好并且文件成功关
我有一个用 C# 编写的 Winforms 应用程序,它使用来自 Windows 2008 IIS Coldfusion 服务器的 Web 服务。所有 Web 服务调用都成功,只有一个调用失败,大约
我想将一个项目从 TortoiseHg 推送到 GitHub。我知道,TortoiseHg 是 Mercurial 分布式版本控制系统的前端; GitHub 与 Git 一起工作的地方。但我喜欢使用
我有一个服务器应用程序,有时,当客户端尝试连接时,我会收到以下错误: 注意:“无法从客户端获取流或登录失败”是我在 catch 语句中添加的文本 它停止的行(sThread:第 96 行)是: tcp
我是一名优秀的程序员,十分优秀!