Dav*_*rke 1 c# asp.net web-services asmx
我正在使用.asmx Web服务从Windows Mobile应用程序上载SQL Server CE压缩数据库文件.我将数据库分成1MiB块,重新组装服务器上的数据库.一旦服务器处理完数据库,就会使用移动应用程序驱动的类似过程将其传输回设备.这种方法效果很好,但有些用户的ADSL连接只允许~700Kb的上传速度.我想优化块大小,以确保这些用户可以获得最佳的上传体验.ADSL是否有最佳的块大小?
根据提供商,网络,用户的偏好和其他因素,不同的DSL链路具有不同的分组大小.从服务器端预测用户将拥有什么是不可能的,并且让他们告诉你很麻烦.
只需通过TCP发送数据.该协议旨在自我调整为客户端和服务器的最佳数据包大小.
如果您将数据削减到(大)块以支持恢复上传,那么您可以计算出如果必须重新传输块(例如,如果上传中断),客户将损失多少时间.因此,如果它们在传输1MiB块期间被中断,并且它们具有700Kib上行链路,那么如果它们必须重新传输整个块,则它们会丢失一秒钟.您可以使用它和您测量的完整TCP连接失败的概率 - 套接字关闭和需要重新传输的块 - 来计算每个文件的预期重新传输开销.
由于TCP故障非常罕见(通常它只是缓冲并等待移动连接发送时发送其余数据),除非您有实时控制循环,否则罕见的1秒故障可能无法察觉.据推测,整个数据库的上传不是.
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |