各位高手以下代码是我用Socket发送文件的代码,此方法会导致接收端得到的文件包的大小不一以致接收文件不稳定,请问如何将发送代码改成发送文件包围固定大小(1024)

服务端发送文件代码:
//发送文件地址
filename =Application.StartupPath+@"\"+fileinfo[j].ToString().ToString();
//发送文件
Console.WriteLine("Sending {0} to the Host", filename);
ClientSocket[i].SendFile(filename);

解决方案 »

  1.   


    using(FileStream fileSteam = new FileStream(fileName,FileMode.Open,FileAccess.Read))
               {
                   byte[] buffer = new byte[1024];
                   while(fileStream.Postion < fileSteam.Length)
                   {
                       int readSize = fileSteam.Read(buffer, 0, buffer.Length);
                       if(readSize > 0)
                       {
                           ClientSocket[i].Send(buffer, readSize, SocketFlags.None);
                       }
                   }
               }