• TcpClient类的使用,摘自MSDNc#


    TcpClient 为 TCP 网络服务提供客户端连接。

    System.Object
       System.Net.Sockets.TcpClient

    public class TcpClient : IDisposable

    备注

    TcpClient 类提供了一些简单的方法,用于在同步阻塞模式下通过网络来连接、发送和接收流数据。

    为使 TcpClient 连接并交换数据,使用 TCP ProtocolType 创建的 TcpListenerSocket 必须侦听是否有传入的连接请求。可以使用下面两种方法之一连接到该侦听器:

    • 创建一个 TcpClient,并调用三个可用的 Connect 方法之一。
    • 使用远程主机的主机名和端口号创建 TcpClient。此构造函数将自动尝试一个连接。
    注意   如果要在同步阻塞模式下发送无连接数据报,请使用 UdpClient 类。

    对继承者的说明:  要发送和接收数据,请使用 GetStream 方法来获取一个 NetworkStream。调用 NetworkStreamWriteRead 方法与远程主机之间发送和接收数据。使用 Close 方法释放与 TcpClient 关联的所有资源。

    示例  下面的示例建立 TcpClient 连接。

     
    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.
        client.Close();        
      }
      catch (ArgumentNullException e)
      {
        Console.WriteLine("ArgumentNullException: {0}", e);
      }
      catch (SocketException e)
      {
        Console.WriteLine("SocketException: {0}", e);
      }
       
      Console.WriteLine("\n Press Enter to continue...");
      Console.Read();
    }

     

  • 相关阅读:
    software系列:Tableau10.5安装教程(破解版)
    技巧系列:Excel打印技巧
    Android 3.0 访问WebService 出现 android.os.NetworkOnMainThreadException异常
    Android各种布局
    服务器访问本地磁盘
    Android手机客户端访问.NET服务器端的方法(1)
    flex webservice
    android学习之 intent 实例
    Android手机客户端访问.NET服务器端的方法(2)
    一篇不错的讲解Java异常的文章(转载)感觉很不错,读了以后很有启发
  • 原文地址:https://www.cnblogs.com/xia/p/21216.html
Copyright © 2020-2023  润新知