⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex-21-08

📁 Programming Csharp Source Code(代码) Programming Csharp Source Code
💻
字号:
// Example 21-08: Implementing a network streaming server

using System;
using System.Net.Sockets;

public class NetworkIOServer
{
  
   public static void Main()
   {
      NetworkIOServer app = 
         new NetworkIOServer();
      app.Run();
   }

   private void Run()
   {
      // create a new TcpListener and start it up
      // listening on port 65000
      TcpListener tcpListener = new TcpListener(65000);
      tcpListener.Start();       

      // keep listening until you send the file
      for (;;)
      {
         // if a client connects, accept the connection
         // and return a new socket named socketForClient
         // while tcpListener keeps listening
         Socket socketForClient = 
            tcpListener.AcceptSocket();
         if (socketForClient.Connected)
         {
            Console.WriteLine("Client connected");

            // call the helper method to send the file
            SendFileToClient(socketForClient);

            Console.WriteLine(
               "Disconnecting from client...");

            // clean up and go home
            socketForClient.Close();
            Console.WriteLine("Exiting...");
            break;
         }
      }
   }

   // helper method to send the file
   private void SendFileToClient(
      Socket socketForClient )
   {
      // create a network stream and a stream writer 
      // on that network stream
      NetworkStream networkStream = 
         new NetworkStream(socketForClient);
      System.IO.StreamWriter streamWriter = 
         new System.IO.StreamWriter(networkStream);

      // create a stream reader for the file
      System.IO.StreamReader streamReader = 
         new System.IO.StreamReader(
            @"C:\test\source\myTest.txt");

      string theString;

      // iterate through the file, sending it 
      // line-by-line to the client
      do
      {
         theString = streamReader.ReadLine();

         if( theString != null )
         {
            Console.WriteLine(
               "Sending {0}", theString);
            streamWriter.WriteLine(theString);
            streamWriter.Flush();
         }
      }
      while( theString != null );

      // tidy up
      streamReader.Close();
      networkStream.Close();
      streamWriter.Close();
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -