因此我正在使用C#,每次客户端进行初始连接时我都必须发送大量数据。我希望有一些方法来跟踪消息的进度,并且我想到的一种方式这样做是将我的大量数据分成500个或更多的较小部分,然后单独发送。这是一种可接受的做法吗?或者发送一条巨大的消息会更好。
答案 0 :(得分:1)
发送大量数据时我所做的是发送100件,每件超过50kb,然后按当前百分比更新进度条。我通过将文件序列化为byte []然后在while循环中执行此操作,然后发送Application.DoEvents()
以更新UI。
我确信您也可以使用异步后台工作程序,然后让Update事件增加进度条。
我想说,如果你能分开它,那就去做吧。因为如果连接中断,你总是可以重启等。这就是为什么bittorrent和the div将文件分成块。
确保您具有良好的校验和和错误检测。你分割的碎片越多,你需要跟踪的碎片就越多。