C# TCP學習筆記

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來進行通訊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章