发送大量的TCP数据

发送大量的TCP数据

问题描述:

所以即时通讯与C#工作,我必须发送大量和大量的数据每次客户端进行初始连接..我宁愿有一些方法来跟踪消息的进展,我认为这样做的一种方式是将我的大量数据分成500或更多的小部分,然后单独发送。这是一个可以接受的做法吗?或者发送一条巨大的消息更好。发送大量的TCP数据

我在发送大量数据时的做法是发送100份,每份大于50kb,然后根据当前百分比更新进度条。我通过将文件序列化到一个byte []然后在一个while循环中完成,然后发送Application.DoEvents()来更新UI。

我相信你也可以使用异步后台工作者,然后让Update事件增加进度条。

我会说,如果你可以分解它,那就做吧。因为如果连接中断,你总是可以重新启动等等。这就是为什么BitTorrent和流文件将文件分成块的原因。

只要确保你有很好的校验和和错误检测。您分割的部分越多,您需要追踪的部分越多。

+1

我接受你的最后一半 - 开始是完全不相关的。 – caesay 2011-03-06 04:00:46

+1

谢谢:)消息的第一部分回复你说:“我宁愿有一些方法来跟踪消息的进度......”我解释了如何使用进度条跟踪进度。半无关也许,但不完全不相关 – 2011-03-06 04:51:21

+0

为什么在世界上你会调用'Application.DoEvents'而不是在后台线程上下载? – 2011-03-06 05:18:46