首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过网络快速发送数据?

如何通过网络快速发送数据?
EN

Stack Overflow用户
提问于 2009-10-21 22:53:34
回答 4查看 2.2K关注 0票数 1

我有很多这样的数据1:0x00a4c7d9fb3849...

2:0x79821309bd789c7689c9...

3:0x0178dce67fe898...

它们超过每秒100个,速度是最重要的(网络总是繁忙的)。

我应该使用什么来传输数据(tcp/ip、管道、via等)?

我应该如何序列化它(BinaryFormatter、Xml、用户定义或任何更好的建议)?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-21 22:57:31

如果您要发送大量数据,并且这些数据不是关键数据,那么UDP是最佳选择。但是,这可能会丢失数据包(您可能会在网络上丢失其中一个数据集)。如果您的数据正在执行诸如更新实时图表之类的操作,这通常是很好的,因为缺少值实际上并不重要。

但是,如果丢失数据很重要,那么TCP/IP将是通过网络发送数据的最佳选择。考虑到数据的高速率,你最好制作自己的用户定义的二进制格式,并且只发送/接收原始字节。使用Xml将会非常非常繁琐(这意味着更多的开销)。即使是BinaryFormatter也会增加一些开销,因为序列化往往会添加比绝对必要的更多一点的开销。

票数 1
EN

Stack Overflow用户

发布于 2009-10-21 23:05:56

每秒100可能并不像你想的那么糟糕。

如果每个字节都是100字节(100位数字就可以了,没问题),那么100x100就是每秒10000字节,即10Kbps。

我会使用我最熟悉的任何东西,如果第一个解决方案不起作用,我会担心速度问题。你构建第一个解决方案的想法将/将使第二个解决方案更容易构建,你将更快或同时获得最终产品,除非你不那么沮丧。

票数 2
EN

Stack Overflow用户

发布于 2009-10-21 22:58:44

每秒100个这样的字符串看起来不是太大的问题(否则字符串必须很长)。

二进制代码总是比它的字符串表示形式更简洁。你甚至可以先打包它(使用zip或其他任何东西)

如果您想要完全控制发送,TCP/IP将是一个很好的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1601379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档