C_Sharp 板


LINE

借这个标题发问,目前也遇到无法完全接收server传出来的档案, 程式码如下,如果不让第一个//Thread.Sleep运作,就无法正常接收档案, 第二个sleep时间太短也会接收到一半就停住了, 但是我实在不知道为啥要加这两个sleep才可以比较正常运作 (档案太大有时候还是无法完全接收),但是加sleep实在是拖累传送速率, 不知道是否有解决办法?传送档案大小大概在10MB以内. 希望有人可能帮忙提供意见或是关键字Q_Q感谢... networkStream = tcpClient.GetStream(); Thread.Sleep(2000);//第一个sleep if (networkStream.CanRead) { FileStream filestream = new FileStream("D://test.bak", FileMode.Create); byte[] recvbytes = new byte[tcpClient.ReceiveBufferSize]; int chk; int sum = 0; while (networkStream.DataAvailable) { Thread.Sleep(150);//第二个sleep chk = networkStream.Read(recvbytes, 0, recvbytes.Length); sum += chk; filestream.Write(recvbytes, 0, chk); }; ※ 引述《KENyroj (难得一身鸡蛋糕...)》之铭言: : 目前的改良版是这样... 不过还是有问题.. @@ : int CurPos = 0; : byte[] RecvBuf = new byte[m_Client.ReceiveBufferSize]; : int Recved = m_NetworkStream.Read(RecvBuf, CurPos, RecvBuf.Length); : while (m_NetworkStream.DataAvailable) : { : FileStr.Write(RecvBuf, CurPos, Recved); : CurPos = +Recved; : Recved = m_NetworkStream.Read(RecvBuf, CurPos, RecvBuf.Length); : } : 错误发生在此... : 类型 System.ArgumentOutOfRangeException 的未处理例外状况发生於 System.dll : 我在要取得这个 Read() 的回传值就已经被打枪了... @@ : 请问有什麽解决之道吗?? 谢谢 ^^" : __yroj --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.244.54
1F:推 hoihkj:能控制server就传固定长度,标记传多长,最後再接起来 10/09 10:35
2F:推 hoihkj:socket记得有传输上限,一次传个1K或几K应该OK 10/09 10:42
楼上的大大,可否说详细一点呢?若以8k为一包是不是说在sever端将资料拆成n*8k, 分批传送至Client,在Client在做组合?(不知道是不是这个意思以及可行性?) ※ 编辑: kakafood 来自: 140.116.72.46 (10/09 12:51)
3F:推 hoihkj:你说对了,不足8K的看你的做法,固定会比较简单 10/09 15:46
4F:推 hoihkj:虽然可能不是最佳解法,不过我拆成1K传几MB是OK的 10/09 15:50







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP