|
亿众国际点对点文件传输程序(26) int dataleft=size; int sent; byte[] datasize=new byte[4]; datasize=BitConverter.GetBytes(size); sent=s.Send(datasize); while(total<size) { sent=s.Send(data,total,dataleft,SocketFlags.None); total+=sent; dataleft-=sent; } return total; } public static byte[] ReceiveVarData(Socket s) { int total=0; int recv; byte[] datasize=new byte[4]; recv=s.Receive(datasize,0,4,SocketFlags.None); int size=BitConverter.ToInt32(datasize,0); int dataleft=size; byte[] data=new byte[size]; while(total<size) { recv=s.Receive(data,total,dataleft,SocketFlags.None); if(recv==0) { data=null; break; } total+=recv; dataleft-=recv; } return data; } } } /////////////////////////////End-公共模块///////////////////////////////////////
|