Я использую сетевой поток для отправки имени файла (пример: «text.txt») и затем отправляю файл.Предполагается, что сервер должен прочитать имя и создать поток записи для записи данных. Проблема в том, что сервер получает имя + данные из файла в команде чтения, чтобы получить только имя.Я думаю, что это неясно.вопрос я получаю имя файла + некоторые данные из файла.код, который отправляет имя файла, а затем данные файла:
ASCIIEncoding asci = new ASCIIEncoding();
TcpClient clientSocket = new TcpClient(textBox2.Text, 8880);
NetworkStream networkStream = clientSocket.GetStream();
byte[] b = asci.GetBytes(s);//s is the name of the file
networkStream.Write(b, 0, b.Length);
networkStream.Flush();
while(true)
{
file = fileStream.Read(fileBuffer,0,fileBuffer.Length);
networkStream.Write(fileBuffer,0,file);
if(file == 0) break;
}
код, который сервер рек.имя и данные с
byte [] buffer2 = new byte[1];
String filename = "";
ASCIIEncoding asci = new ASCIIEncoding();
while (true)
{
int k = networkStream.Read(buffer2, 0, buffer2.Length);
filename = filename+asci.GetString(buffer2, 0, k);
if (k == 0) break;
}
using (Stream fileStream = File.OpenWrite("C:/Users/Laptop/Documents/" + filename))
{
while (true)
{
thisRead = networkStream.Read(dataByte, 0, blockSize);
fileStream.Write(dataByte, 0, thisRead);
if (thisRead == 0) break;
}
спасибо.я думаю, что не знаю, как сказать или проиллюстрировать проблему.