TCP通讯协议

服务端客服端流程图

tcp服务端

 // 1. 新建一个Socket 服务器端 连接对象
  // 参数 寻址范围,数据类型,协议格式
  Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  byte[] ip = { 192, 168, 1, 1 };
  IPAddress address = new IPAddress(ip);
  IPEndPoint point = new IPEndPoint(address, 8090);
  tcpServer.Bind(point); // 2. 绑定Ip和端口号
  tcpServer.Listen(100); // 3. 设置监听连接的最大请求数
  Socket newSocket = tcpServer.Accept(); // 4. 等待客户端的连接,会阻塞当前线程,直到接收到客户端的连接

  string sendMessage = "Hello Welcome Connect";
  newSocket.Send(Encoding.UTF8.GetBytes(sendMessage)); // 5.向客户端发送一条消息

 byte[] data = new byte[1024];
 int length = newSocket.Receive(data);
 Console.WriteLine("接收到客户端的数据"+Encoding.UTF8.GetString(data, 0, length));
 Console.ReadKey();         

tcp客户端

 //1. 建立客户端连接对象 
    // 参数 寻址范围,数据类型,协议格式
    Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

   // 2. 建立一个连接,请求连接到服务器
  clientSocket.Connect(new IPEndPoint(new IPAddress(new byte[] { 192, 168, 199, 117 }), 8090));

  // 建立一个用来接受数据的容器
   byte[] data = new byte[1024];
 // 3. 接受服务端发送的数据
   int length = clientSocket.Receive(data); // 该数组用来接受数组,接受服务端传递的数据 , 返回值,用来表示本次接收到的数据长度
 // 4. 将服务器端发送过来的数据转换成字符串
 string reciveMessage = Encoding.UTF8.GetString(data, 0, length);
 Console.WriteLine(reciveMessage);

 string message = Console.ReadLine();
 clientSocket.Send(Encoding.UTF8.GetBytes(message));

Console.ReadKey();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • socket() socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源 ...
    你好667阅读 1,768评论 0 0
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 14,472评论 6 174
  • 参考:http://www.2cto.com/net/201611/569006.html TCP HTTP UD...
    F麦子阅读 8,022评论 0 14
  • 目录 TCP协议的基本概念面向链接的服务可靠的服务序列号字节流传输 TCP协议数据段的格式TCP伪头部 TCP协议...
    kirito_song阅读 8,092评论 2 33
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 10,476评论 0 8