首页 > 其他 > 详细

TCP客户端【TcpClient】

时间:2018-06-28 12:53:34      阅读:172      评论:0      收藏:0      [点我收藏+]

一、阻塞模式

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】

原文:https://www.cnblogs.com/judes/p/9238038.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!