zoukankan      html  css  js  c++  java
  • TCP客户端【TcpClient】

    一、阻塞模式

    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); //发往服务器

    }

  • 相关阅读:
    MySQL--06
    MySQL--05
    MySQL--04
    MySQL--03
    MySQL--02
    MySQL--01
    JavaScript3
    JavaScript2
    四大函数式接口 函数型接口 断定型接口 消费型接口 供给型接口 流式计算
    课后作业-阅读任务-阅读提问-4
  • 原文地址:https://www.cnblogs.com/judes/p/9238038.html
Copyright © 2011-2022 走看看