我现在用同步:
do{
count = client.GetStream().Read(fileBuffer, 0, fileBuffer.Length);
mem.Write(fileBuffer, 0, count);
//mem是个memoryStream对象
} while (client.GetStream().DataAvailable);//有可用数据时
一般应该是怎么接受数据啊?(有没有一般方法?)用这个do-while(**.DataAvailable)对不对啊??还有一半是用MemoryStream暂存吗
我要获得一个_完整_的XML文件,字符多了少了都会错!!!
现在的结果是总是多了一块文本或者少了一部分...怎么解决啊????
难受死了~!~~~~~~~~~~
用MemoryStream只是不想中间生成一个文件,我想直接获取收到的XML文本数据
C#中用TCP(同步或异步)如何从NetworkStream获取完整文件的问题??
答案:4 悬赏:30 手机版
解决时间 2021-02-14 16:03
- 提问者网友:遮云壑
- 2021-02-14 11:31
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-02-14 11:44
mem.Write(count);
这样写看看,
这样写看看,
全部回答
- 1楼网友:醉吻情书
- 2021-02-14 13:48
这样试试
C端请求(并发送字节数)
S端接受,发送允许信息
C端开始发送
- 2楼网友:轻熟杀无赦
- 2021-02-14 12:20
这样写看看:
while ((len =objclient.GetStream().Read(fileBuffer, 0, fileBuffer.Length)) != 0)
{
mem.Write(fileBuffer, 0, len);
}
不知道你用memorystream有什么特别的用途。如果是写文件用filestream就行,filestream是高级流最好用BinaryReader这样的二进制低级流写入filestream
- 3楼网友:妄饮晩冬酒
- 2021-02-14 12:06
大概要用查找且替换吧
MemoryStream似乎会多些空格
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯