从socket接收信息的System.Web.Sockets的奇怪行为 [英] Strange behavior of System.Web.Sockets receiving info from socket

查看:59
本文介绍了从socket接收信息的System.Web.Sockets的奇怪行为的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用TCP连接获取的代码来自具有两个接口的服务器的数据:二进制和JSON。它工作得非常快,而且合乎逻辑的是,获得
的二进制数据比JSON快得多。但只有当客户端使用localhost往返在服务器的同一主机上运行时才会出现这种情况。当我使用远程连接到服务器时,JSON接口比二进制更快。正如你在附图中看到的那样,
对具有不同连接字符串的相同客户端应用程序进行概要分析(远程 - 左侧部分和本地 - 右图部分)显示了一个奇怪的事情:我有80%(总共4166毫秒)所有运行时间的5106ms运行二进制读取器方法'ReadAll')在ntdll.dll调用一些秘密时延迟
。任何想法,它可以是什么? 

推荐答案

网络延迟不一致且无法预测。 如果你跑了十几次,就会得到十几个不同的结果。 如果有效载荷显着缩短,则总传输时间将缩短,但网络延迟几乎总是会淹没

Network delays are not consistent and not predictable.  If you ran this a dozen times, you'd get a dozen different results.  Total transit time will be shorter if the payload is significantly shorter, but the network delays will almost always swamp that.

我没有看到任何网络活动在右边 - 手部分图像。

I don't see any network activity in the right-hand part of the image.


这篇关于从socket接收信息的System.Web.Sockets的奇怪行为的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆