Overførelse af mange filer på én gang igennem socket !
Hej..Jeg har oprettede en socket forbindelse som jeg sender én fil igennem, hvilket også fungere udemærket...
Jeg har så prøvet at lave en foreach-løkke som køre hver forventede fil igennem, men den fylder kun én af filerne med bytes.
Kommer vist til at lukke streamen på det forkerte tidspunkt eller noget.
Sådan ser koden ud i øjeblikket:
//Server
TcpClient klientStream = server.AcceptTcpClient();
Stream nstm = klientStream.GetStream();
foreach (string output in filer)
{
Stream fstm = new FileStream(output, FileMode.Open, FileAccess.Read);
byte[] b = new byte[10000];
int n;
while ((n = fstm.Read(b, 0, b.Length)) > 0)
{
nstm.Write(b, 0, n);
}
fstm.Flush();
fstm.Close();
}
nstm.Flush();
nstm.Close();
//Klient
TcpClient klientStream = new TcpClient("localhost", port);
Stream nstm = klientStream.GetStream();
foreach (string output in inFilsti)
{
string[] temp = output.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
if (Directory.Exists(standardSti + temp[0] + "\\" + temp[1]) == false)
{
Directory.CreateDirectory(standardSti + "\\" + temp[0] + "\\" + temp[1]);
}
Stream fstm = new FileStream(standardSti + "\\" + output, FileMode.Create, FileAccess.Write);
byte[] b = new byte[10000];
int n;
while ((n = nstm.Read(b, 0, b.Length)) > 0)
{
fstm.Write(b, 0, n);
}
fstm.Flush();
fstm.Close();
}
nstm.Flush();
nstm.Close();
På forhånd tak
Scorp-D