hello i am building a simple winform application for data transfer using Socket programming in c#.
i have a client and server wherin client can retrive,upload, and delete a file in server using my application. everything is working fine, but i am unable to open retrieved or uploaded file. i shows error message that the file has been corrupted. i am in need to transfer all typres of file including word docu, .txt,.xls, zip format,images etc.
file operation like transfer deleting etc are working fine. but no file is getting opened after recieving it.
please help me where i am going wrong. i am coding network programmes for the first time
here is my code:
server
private void ReadFile(string FilePath, string IPAdress, int RecievingPort)
{
TcpListener ClientListener = new TcpListener(IPAddress.Any, RecievingPort);
for (; ; )
{
if (ServerProperties.WiatForClient)
{
ClientListener.Start();
byte[] ReadBuffer = new byte[1024];
if (ClientListener.Pending())
{
int RecBytes;
string MsgFrmClient = "";
TcpClient client = ClientListener.AcceptTcpClient();
NetworkStream ClientStream = client.GetStream();
String ClientIp = ((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString();
if (IPAdress == ClientIp)
{
while (ClientStream.Read(ReadBuffer, 0, ReadBuffer.Length) > 0)
{
FileStream Fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Write);
while ((RecBytes = ClientStream.Read(ReadBuffer, 0, ReadBuffer.Length)) > 0)
{
Fs.Write(ReadBuffer, 0, RecBytes);
}
Fs.Close();
ServerProperties.WiatForClient = false;
}
}
ClientStream.Close();
client.Close();
}
}
else
{
ClientListener.Stop();
break;
}
}
}
i am using same methodolagy on both server and client for retriving and uploding file.
for uploading to server i ll be passing filename as a message to the server before calling this method.