C# TCP学习笔记

来源:互联网 发布:淘宝the gas 编辑:程序博客网 时间:2024/05/16 15:16

TCP是一种面向连接的,可靠的,基于字节流的传输层通信协议。

  • 1.TCP的工作过程

连接的建立:三次握手,传输数据,连接终止。

  • 2.TCP的主要特点

面向连接,端对端通信,高可靠性,全双工方法传输,数据以字节方法传输,传输数据无消息边界。

  • 3.TCP的同步于异步

利用TCP开发时,.NET框架提供两种工作方式:同步和异步。

同步的工作方式是指利用TCP编写的程序执行到监听或接受语句时,在未完成当前工作前不再继续执行,线程出于阻塞状态。

异步的工作方式是指程序执行到监听或接受语句时,无论当前工作是否完成,都会继续往下执行。

关于同步于异步的区别和联系,我自己也没有弄清楚。同步的执行速度快(对于计算机来说),异步执行速度慢(但给用户感觉执行快一些)。

  • 4.连接方式

4.1使用Socket建立连接

客户端部分代码:

复制代码
 1 //定义变量 2 public IPEndPoint ipEndPoint; 3 public Socket clentSocket; 4 public NetworkStream netStream; 5 public Thread threadConnection; 6  7 //... 8  9 //初始化变量10 ipEndPoint = new IPEndPoint(IPAddress.Parse(txtIP.Text), int.Parse(txtPort.Text));11 clentSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);12 clentSocket.Connect(ipEndPoint);
复制代码

  服务端部分代码:

复制代码
 1 //定义变量 2 public IPEndPoint ipEndPoint; 3 public Socket clientSocket; 4 public Socket serverSocket; 5  6 //.... 7  8 //初始化变量 9  ipEndPoint = new IPEndPoint(IPAddress.Any, 65535);10 serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);11 serverSocket.Bind(ipEndPoint);12 serverSocket.Listen(65535);
复制代码

  使用这种方式是利用Socket来进行通信。

4.2使用TcpClient和TcpListener建立连接

客户端部分代码:

复制代码
1 public TcpClient tcpClient = null;2 public NetworkStream networkStream = null;3 4 //....5 6 tcpClient = new TcpClient();7 tcpClient.Connect(txtIP.Text, int.Parse(txtPort.Text));
复制代码

  服务端部分代码:

复制代码
1 private TcpListener tcpLister = null;2 private TcpClient tcpClient = null;3 4 //...5 6 tcpLister = new TcpListener(IPAddress.Parse(txtIP.Text), int.Parse(txtPort.Text));7 tcpLister.Start();
复制代码

这种方式是利用.NET封装的TcpClient和TcpListener来进行通讯。

原创粉丝点击