现在的位置: 首页 > 综合 > 正文

C# TCP学习笔记

2013年09月19日 ⁄ 综合 ⁄ 共 1438字 ⁄ 字号 评论关闭

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来进行通讯。

抱歉!评论已关闭.