Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 |

 

  Вопрос: Передача данных с одного компьютера на другой Добавлено: 26.07.10 13:25  

Автор вопроса:  Uhehesh | Web-сайт: mda.net.ru

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 16
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #16 Добавлено: 28.07.10 04:02
Вот немного подправил, чтоб соедидение само разрывалось когда файл отправлен. Если не нужно сразу разрывать, то убери using'и (но не забудь что закрывать нужно будет)

  1. using System;
  2. using System.IO;
  3. using System.Net;
  4. using System.Net.Sockets;
  5.  
  6. namespace ConsoleApplication9
  7. {
  8.     class Program
  9.     {
  10.  
  11.         static void Main(string[] args)
  12.         {
  13.             System.Threading.Thread serverThread = new System.Threading.Thread(ServerThread) { IsBackground = true };
  14.             System.Threading.Thread clientThread = new System.Threading.Thread(ClientThread) { IsBackground = true };
  15.             serverThread.Start();
  16.             clientThread.Start();
  17.  
  18.             Console.WriteLine("Press any key to exit");
  19.             Console.ReadLine();
  20.         }
  21.  
  22.         private static void ServerThread()
  23.         {
  24.             TcpListener listener = new TcpListener(IPAddress.Any, 777);
  25.             listener.Start();
  26.             Console.WriteLine("Server: started");
  27.  
  28.             using (TcpClient client = listener.AcceptTcpClient())
  29.             {
  30.                 Console.WriteLine("Server: client connected");
  31.  
  32.                 using (Stream stream = client.GetStream())
  33.                 using (BinaryReader reader = new BinaryReader(stream))
  34.                 {
  35.                     int fileLength = reader.ReadInt32();
  36.                     byte[] fileData = reader.ReadBytes(fileLength);
  37.                     File.WriteAllBytes(@"c:\2.rtf", fileData);
  38.                 }
  39.                 Console.WriteLine("Server: file recived");
  40.             }
  41.             listener.Stop();
  42.         }
  43.          
  44.         private static void ClientThread()
  45.         {
  46.             using (TcpClient client = new TcpClient("localhost", 777))
  47.             {
  48.                 Console.WriteLine("Client: conected to server");
  49.                 using (Stream stream = client.GetStream())
  50.                 using (BinaryWriter writer = new BinaryWriter(stream))
  51.                 {
  52.                     byte[] fileData = File.ReadAllBytes(@"c:\1.rtf");
  53.                     writer.Write(fileData.Length);
  54.                     writer.Write(fileData);
  55.                 }
  56.                 Console.WriteLine("Client: file sent");
  57.             }
  58.         }
  59.     }
  60. }

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам