社区
C#
帖子详情
socket文件传输问题,高手帮忙看看
超越大大
2005-12-13 09:54:52
我用filestream读写文件,用networkstream发送接收文件,为何接收到的文件和原文件大小不一致呢?而且有时会显示接收到的文件已损坏,这会是什么原因造成的呢?
...全文
374
16
打赏
收藏
socket文件传输问题,高手帮忙看看
我用filestream读写文件,用networkstream发送接收文件,为何接收到的文件和原文件大小不一致呢?而且有时会显示接收到的文件已损坏,这会是什么原因造成的呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
超越大大
2005-12-15
打赏
举报
回复
ding
超越大大
2005-12-14
打赏
举报
回复
各位老大能说明白点吗?
超越大大
2005-12-14
打赏
举报
回复
自己顶
coley
2005-12-13
打赏
举报
回复
mark
cdpath
2005-12-13
打赏
举报
回复
缓冲的问题
zhao606
2005-12-13
打赏
举报
回复
传输大小是有默认的吧!
超越大大
2005-12-13
打赏
举报
回复
晕,没人知道?
超越大大
2005-12-13
打赏
举报
回复
//发送文件
private void sendBinary(ref Socket socket, string filePath)
{
try
{
long readcount = fi.Length / 10240;
long byteremain = fi.Length % 10240;
byte[] bb = new byte[10240];
int number;
stream = new NetworkStream(socket);
for (long count1 = 1; count1 <= readcount; count1++)
{
number = filestream.Read(bb, 0, bb.Length);
stream.Write(bb, 0, bb.Length);
stream.Flush();
bb = new byte[10240];
}
if (byteremain != 0)
{
bb = new byte[byteremain];
filestream.Read(bb, 0, bb.Length);
stream.Write(bb, 0, bb.Length);
stream.Flush();
}
filestream.Close();
stream.Close();
richTextBox1.AppendText("文件发送完毕" + "\r\n");
toolStripStatusLabel1.Text = "就绪";
}
catch (Exception f)
{
MessageBox.Show(f.ToString(), "sendbinary errer");
}
//接收文件
private void getBinary(ref Socket socket, string filePath)
{
try
{
filestream = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write);
byte[] bb = new byte[10240];
NetworkStream netStream = new NetworkStream(socket);
long readnumber;
long currentread = 0;
long readcount = Convert.ToInt64(str[1]) / 10240;
long byteremain = Convert.ToInt64(str[1]) % 10240;
while ((readnumber = netStream.Read(bb, 0, bb.Length)) > 0 && currentread != readcount)
{
currentread++;
filestream.Write(bb, 0, bb.Length);
filestream.Flush();
if (currentread == readcount)
{
if (byteremain != 0)
{
bb = new byte[byteremain];
netStream.Read(bb, 0, bb.Length);
filestream.Write(bb, 0, bb.Length);
filestream.Flush();
}
break;
}
}
filestream.Close();
netStream.Close();
richTextBox1.AppendText("接收文件成功\r\n");
filesend = false;
}
catch (Exception f)
{
richTextBox1.AppendText("接收文件时错误" + f.ToString() + "\r\n");
}
}
c11_11_11
2005-12-13
打赏
举报
回复
fen
yuanreid
2005-12-13
打赏
举报
回复
顶
yybb520
2005-12-13
打赏
举报
回复
我想是读了固定的长度了,每一次读了固定的长度,那么就可能导致你双方的文件不一至,最后总得有校验吧?
malongning
2005-12-13
打赏
举报
回复
看一下你的接收程序和发送程序能否对应,把原代码帖出来给你看
linanwang
2005-12-13
打赏
举报
回复
你什么都不贴,帮你看什么?
超越大大
2005-12-13
打赏
举报
回复
我对文件长度进行了判断,读的不是固定长度字节,而且不是每次传送文件的时候都有问题,是传送大文件时有时会出错
stonegoldaustin
2005-12-13
打赏
举报
回复
非常明显,你传送的数据不正确,
比如,对文件长度没有判断,每次都读固定长度的字节,那么最后一次就有可能多传了数据
超越大大
2005-12-13
打赏
举报
回复
csdn里没人知道吗?
预处理数据的方法总结(使用sklearn-preprocessing)
预处理数1. 标准化:去均值,方差规模化Standardization标准化:将特征数据的分布调整成标准正太分布,也叫高斯分布,也就是使得数据的均值维0,方差为1.标准化的原因在于如果有些特征的方差过大,则会主导目标函数从而使参数估计器无法正确地去学习其他特征。标准化的过程为两步:去均值的中心化(均值变为0);方差的规模化(方差变为1)。在sklearn.preprocessing中提供了一个sca
机器学习数据预处理preprocessing
它可以将一组标签集合转换为一个二进制矩阵,其中每一列代表一个可能的标签,每一行代表一个样本。用于中心化核矩阵的工具,通常用于核方法(如支持向量机和核主成分分析)中,以确保核矩阵的中心化,从而提高算法的性能。将每个类别值映射到一个从 0 到 n_classes-1 的整数,其中 n_classes 是类别的数量。设定一个阈值(threshold),对于每个输入值,如果该值大于或等于阈值,则输出 1;调整核矩阵使其行和列的均值为零,目的是消除数据的偏移,使得算法能够更好地捕捉数据的结构特征。
Sklearn入门之数据预处理preprocessing
以上便是Sklearn入门之preprocessing的基本用法后续,我还将继续介绍sklearn中其他模块的使用方法。
数据预处理模块preprocessing
scikit-learn模块学习笔记(数据预处理模块preprocessing) 本篇文章主要简单介绍sklearn中的数据预处理preprocessing模块,它可以对数据进行标准化。preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到pipeline 过程中。 数据标准化 数据标准化:当单个特征的样本取值相差甚大或明显不遵从高斯正态分布时,标准化表现的效...
sklearn-Preprocessing Data 数据预处理
官方文档: https://scikit-learn.org/stable/modules/preprocessing.html#preprocessing Sklearn.preprocessing包提供了很多的的函数和转换器的类,便于用户将原始数据的特征向量转换成适合后面部分要用到的形式。 通常演算法使用标准化的数据效果会更好,如果数据集种存在离群点的话,鲁棒性的scaler和transfor...
C#
111,128
社区成员
642,534
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章