码迷,mamicode.com
首页 > 其他好文 > 详细

TCP客户端【TcpClient】

时间:2018-06-28 13:50:19      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:length   sockets   bytes   int   coding   cli   客户   gets   端口   

一、阻塞模式

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】

标签:length   sockets   bytes   int   coding   cli   客户   gets   端口   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!