|
|
1
0
|
|
|
2
0
这听起来像是我以前遇到的一个问题,鉴于互联网速度慢或不可靠,我建议可能使用UDP套接字而不是TCP,因为它们不会在连接短暂中断时抛出异常,或者如果在传输过程中丢失少量数据,请参阅 here . API非常类似,请参见 here . 重新实施可能会有点麻烦,但我认为这会解决你的问题。 我的另一个见解是,您的try-catch块指定它只接受IOExceptions,即使它捕获的是socketException,大多数时候我只是使用泛型异常类来避免尝试确定从何处抛出哪些异常。 只是改变:
到
IOException和SocketException都继承自Exception类,因此其余代码保持不变。希望这能给你一些更具体的问题信息。 |
|
|
3
0
虽然我还没有找到 修理 对于最初的问题,我已经找到了解决这个问题的方法。
最初我做的是下载
整个的
文件,然后将文件中的数据发送回
我现在做的是如果我发送
小包裹
到
由于这个原因,连接会更快地得到较小的数据块,因为它不需要等待整个文件首先被下载。这反过来又似乎阻止了插座的缩小。(我所期望的是发生在引擎盖下的事情。) 由于额外的好处,下载速度明显提高(大约快1.7倍)。虽然我知道为什么这会提高下载速度。如果有人对此有想法,请发表评论。 |
|
|
4
-1
你可能有一些问题。 首先是超时情况。有可能,因为您在互联网上遇到了一些问题,请求和响应之间的时间比指定的时间要长(我相信如果您没有,默认设置为60秒)。 另一件事是,在一个包响应中,文件大小可能太大,无法完全写入。但这会发生在任何请求中,不仅仅是在“糟糕”的互联网连接时刻。 也有可能,因为Internet连接不稳定,“服务器”检测到“客户机”断开(甚至短暂断开),因此关闭了套接字。 |
|
|
yossi · 如何使用HttpListener同时处理多个连接? 11 年前 |