1. 程式人生 > >TCP客戶端【TcpClient】

TCP客戶端【TcpClient】

pan CA 返回 ipa 初始化 gets line exc Coding

一、阻塞模式

1、命名空間

System.Net.Sockets

2、對象聲明

TcpClient dpu1TcpClient = null;//dpu1tcp客戶端,TcpClient模式
NetworkStream streamToServer = null;//用於接收和發送數據的數據流對象

3、為tcp對象分配空間

dpu1TcpClient = new TcpClient();//DPU1tcp客戶端初始化
4、連接服務器

按鈕回調函數

{

  if (dpu1TcpClient.Connected)//如果已經連接則返回
  {
    return;
  }

  IPAddress ipaddress = IPAddress.Parse("192.168.1.1");//IP和端口

  IPEndPoint endpoint = new IPEndPoint(ipaddress, 8080);
  try
  {
    dpu1TcpClient.Connect(endpoint);
  }
  catch (SocketException e1)//連接失敗
  {
    //打印e1.Message
  }

  if(dpu1TcpClient.Connected)//連接成功則開啟接收線程
  {
    streamToServer = dpu1TcpClient.GetStream();//連接成功之後tcp數據流對象才能分配到空間

    //在這裏開啟數據接收線程,使用streamToServer來發送接收數據

  }
}

5、接收數據

線程函數

{

  Byte[] data = new Byte[2048];

  while(true)
  {
    int dataLength = streamToServer.Read(data, 0, data.Length);//這裏會阻塞

    //處理數據

  }

}
6、發送數據

發送按鈕回調函數

{

  string msg = "<02GS0000FF>";
  byte[] buffer = Encoding.Unicode.GetBytes(msg); //msg為發送的字符串
  streamToServer.Write(buffer, 0, buffer.Length); //發往服務器

}

TCP客戶端【TcpClient】