1
2
最后,供应商推出了一个固件升级,其中包括一个新版本的httpd,问题就消失了。他们使用的是busybox-linux,显然HTTPD实现还有其他一些问题。 就我最初的问题而言,我认为没有 任何 除了编写一个套接字代理之外,还可以使用可靠的方法来完成这项工作。我在上面玩过的一些解决方法是运气而不是设计(因为它们意味着.NET一次性发送了整个包)。 |
2
1
什么有 似乎 要修复此问题,需要在与该URI关联的服务点上禁用Nagling,并以HTTP 1.0的形式发送请求(两者都不修复此问题):
然而,这似乎只是通过使请求更快地发出,而不是强制将头和有效负载写入一个包来解决问题。因此,它可能在加载的机器上失败/高延迟链接等。 想知道写一个碎片整理代理有多困难… |
3
0
您的嵌入式服务器是HTTP/1.1服务器吗?如果是,请在调用GetRequestStream()之前,尝试在WebRequest上设置expect100continue=false。这将确保在发送实体体之前,HTTP堆栈不期望服务器发出“http/1.1 100 continue”头响应。因此,即使数据包仍将在头和主体之间被拆分,数据包之间的间隙也将变短。 |
4
0
就在客户端拆分数据包的问题上,我发布了一个与此问题相关的问题的答案: 我在这里看到了答案: http://us.generation-nt.com/answer/too-packets-httpwebrequest-help-23298102.html |