TcpClient 和 TcpListenner

等待修改中。。。。(服务端)

 

class  MyTcpListener
{
  
public static void Main()
  

    TcpListener server
=null;   
    
try
    
{
      
// Set the TcpListener on port 13000.
      Int32 port = 13000;
      IPAddress localAddr 
= IPAddress.Parse("127.0.0.1");
      
      
// TcpListener server = new TcpListener(port);
      server = new TcpListener(localAddr, port);

      
// Start listening for client requests.
      server.Start();
         
      
// Buffer for reading data
      Byte[] bytes = new Byte[256];
      String data 
= null;

      
// Enter the listening loop.
      while(true
      
{
        Console.Write(
"Waiting for a connection... ");
        
        
// Perform a blocking call to accept requests.
        
// You could also user server.AcceptSocket() here.
        TcpClient client = server.AcceptTcpClient();            
        Console.WriteLine(
"Connected!");

        data 
= null;

        
// Get a stream object for reading and writing
        NetworkStream stream = client.GetStream();

        
int i;

        
// Loop to receive all the data sent by the client.
        while((i = stream.Read(bytes, 0, bytes.Length))!=0
        
{   
          
// Translate data bytes to a ASCII string.
          data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
          Console.WriteLine(
"Received: {0}", data);
       
          
// Process the data sent by the client.
          data = data.ToUpper();

          
byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);

          
// Send back a response.
          stream.Write(msg, 0, msg.Length);
          Console.WriteLine(
"Sent: {0}", data);            
        }

         
        
// Shutdown and end connection
        client.Close();
      }

    }

    
catch(SocketException e)
    
{
      Console.WriteLine(
"SocketException: {0}", e);
    }

    
finally
    
{
       
// Stop listening for new clients.
       server.Stop();
    }


      
    Console.WriteLine(
" Hit enter to continue...");
    Console.Read();
  }
   
}

 

---客户端

 
 
static   void  Connect(String server, String message) 
{
  
try 
  
{
    
// Create a TcpClient.
    
// Note, for this client to work you need to have a TcpServer 
    
// connected to the same address as specified by the server, port
    
// combination.
    Int32 port = 13000;
    TcpClient client 
= new TcpClient(server, port);
    
    
// Translate the passed message into ASCII and store it as a Byte array.
    Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);         

    
// Get a client stream for reading and writing.
   
//  Stream stream = client.GetStream();
    
    NetworkStream stream 
= client.GetStream();

    
// Send the message to the connected TcpServer. 
    stream.Write(data, 0, data.Length);

    Console.WriteLine(
"Sent: {0}", message);         

    
// Receive the TcpServer.response.
    
    
// Buffer to store the response bytes.
    data = new Byte[256];

    
// String to store the response ASCII representation.
    String responseData = String.Empty;

    
// Read the first batch of the TcpServer response bytes.
    Int32 bytes = stream.Read(data, 0, data.Length);
    responseData 
= System.Text.Encoding.ASCII.GetString(data, 0, bytes);
    Console.WriteLine(
"Received: {0}", responseData);         

    
// Close everything.
    stream.Close();         
    client.Close();         
  }
 
  
catch (ArgumentNullException e) 
  
{
    Console.WriteLine(
"ArgumentNullException: {0}", e);
  }
 
  
catch (SocketException e) 
  
{
    Console.WriteLine(
"SocketException: {0}", e);
  }

    
  Console.WriteLine(
"  Press Enter to continue...");
  Console.Read();
}
 
待修改中。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值