110,533
社区成员
发帖
与我相关
我的任务
分享
////////////////////发送端
for (i = 0; i < packetCount; i++)
{
EzoneStream.Read(data, 0, packetSize - 10);
data = Convert.FromBase64String(Convert.ToBase64String(data)); /////
Array.Copy(Convert.FromBase64String(Convert.ToBase64String(System.Text.Encoding.Unicode.GetBytes(i.ToString()))),
0,
data, packetSize - 10, Convert.FromBase64String(Convert.ToBase64String(System.Text.Encoding.Unicode.GetBytes(i.ToString()))).Length);
client.Send(data);
}
//////////////////////////接收端
for (i = 0; i < packetCount; i++)
{
server.Receive(buff);
//提取文件包编号
Array.Copy(buff, buff.Length - 10, bInde, 0, bInde.Length);
inde = Convert.ToInt32(System.Text.Encoding.Unicode.GetString(bInde));
//设置文件指针并写入数据
Rec.Seek(inde * (packetSize - 10), SeekOrigin.Begin);
Rec.Write(buff, 0, buff.Length - 10);
che[inde] = 'y'; //标记已接收
}
var copyData = new byte[data.Length + 1];
Array.Copy(data, 0, copyData, 1, data.Length);
copyData[0]=(byte)i;
这就足够了。