加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

Web服务 – Httplistener中的“指定的网络名称不再可用”

发布时间:2020-12-14 16:41:06 所属栏目:资源 来源:网络整理
导读:我已经构建了一个简单的Web服务,只使用HttpListener来接收和发送请求.有时,服务失败并显示“指定的网络名称不再可用”.当我写入HttpListenerResponse的输出缓冲区时,它似乎被抛出. 这是错误: ListenerCallback() Error: The specified network name is no l
我已经构建了一个简单的Web服务,只使用HttpListener来接收和发送请求.有时,服务失败并显示“指定的网络名称不再可用”.当我写入HttpListenerResponse的输出缓冲区时,它似乎被抛出.

这是错误:

ListenerCallback() Error: The specified network name is no longer available at System.Net.HttpResponseStream.Write(Byte[] buffer,Int32 offset,Int32 size)

这是代码的有罪部分. responseString是发送回客户端的数据:

buffer = System.Text.Encoding.UTF8.GetBytes(responseString);

            response.ContentLength64 = buffer.Length;
            output = response.OutputStream;
            output.Write(buffer,buffer.Length);

它似乎并不总是一个巨大的缓冲区,两个例子是3,816字节和142,619字节,这些错误被抛出约30秒.我不认为我的单个客户端应用程序会重载HTTPlistener;客户端偶尔会突发发送/接收数据,一次又一次地进行多次交换.

大多数谷歌搜索显示这是一个常见的IT问题,当出现网络问题时,会显示此错误 – 大多数帮助都是针对系统管理员诊断应用程序问题,而不是开发人员追踪错误.我的应用程序已经在不同的机器,网络等上进行了测试,我认为这不仅仅是一个网络配置问题.

可能是这个问题的原因是什么?

解决方法

当指定ContentLength64并且KeepAlive为false时,我也得到了这个.似乎客户端正在检查Content-Length标头(通过所有可能的帐户,正确设置,因为我得到任何其他值的异常)然后说“Whelp我已完成KTHXBYE”并关闭连接在潜在的HttpListenerResponse流期待它之前的一点点.现在,我只是抓住异常并继续前进.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读