This is Server Code for Receiving Files
int bytesSize = 0;
byte[] downBuffer = new byte[2048];
bytesSize = strRemote.Read(downBuffer, 0, 2048);
string FileName = System.Text.Encoding.ASCII.GetString(downBuffer, 0, bytesSize);
strLocal = new FileStream(@"F:\" + FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
downBuffer = new byte[2048];
bytesSize = strRemote.Read(downBuffer, 0, 2048);
long FileSize = Convert.ToInt64(System.Text.Encoding.ASCII.GetString(downBuffer, 0, bytesSize));
This is client code for getting files
strRemote = tcpClient.GetStream();
byte[] byteSend = new byte[tcpClient.ReceiveBufferSize];
fstFile = new FileStream(openFile.FileName, FileMode.Open, FileAccess.Read);
BinaryReader binFile = new BinaryReader(fstFile);
FileInfo fInfo = new FileInfo(openFile.FileName);
string FileName = fInfo.Name;
byte[] ByteFileName = new byte[2048];
ByteFileName = System.Text.Encoding.ASCII.GetBytes(FileName.ToCharArray());
strRemote.Write(ByteFileName, 0, ByteFileName.Length);
long FileSize = fInfo.Length;
byte[] ByteFileSize = new byte[2048];
ByteFileSize = System.Text.Encoding.ASCII.GetBytes(FileSize.ToString().ToCharArray());
strRemote.Write(ByteFileSize, 0, ByteFileSize.Length);
txtLog.Text += "Sending the file " + FileName + " (" + FileSize + " bytes)\r\n";
int bytesSize = 0;
byte[] downBuffer = new byte[2048];
while ((bytesSize = fstFile.Read(downBuffer, 0, downBuffer.Length)) > 0)
{
strRemote.Write(downBuffer, 0, bytesSize);
}