.NET 幫助

TCP .NET(如何為開發人員工作)

發佈 2024年4月29日
分享:

介紹

現代軟體程式必須能夠在當今互聯的世界中可靠且有效地透過網路傳送資料。 互聯網的主要網路協定 TCP/IP,提供數據傳輸在各種網絡條件下的穩定框架。 通過此協議套件實現設備通信,支持多種使用案例,包括文件傳輸、遠程訪問和實時通信。

反之,IronPDF是一個功能豐富的 .NET 庫,用於創建和修改 PDF 文件。 IronPDF 是一個對於文件生成、報告和數據可視化活動非常有用的工具,因為它允許開發者從 HTML 內容、URL 或原始數據動態創建 PDF 文件。

在這篇文章中,我們探索如何整合IronPDFTCP .Net以促進在 .NET 應用程式中有效的文件生成。 透過融合這些技術,程式設計師可以透過使用網路通信來獲取資料、與遠端系統協作,以及創建動態 PDF 頁面,提高其應用程式的生產力和可擴展性。

如何使用 TCP/IP 通訊

  1. 在 中建立一個新的 C# 專案Visual Studio.

  2. 導入命名空間 System.Net 和 System.Net.Sockets。

  3. 建立一個 TCP 伺服器和 TCP 客戶端程式。 指定 IP 位址和埠號。

  4. 將訊息從伺服器發送到客戶端。 將客戶端的伺服器訊息記錄到報告中。

  5. 關閉連接。

TCP .NET 介紹

一組稱為 TCP/IP 的通訊協定集(傳輸控制協議/網際網路協議)通過網路(主要是互聯網)調節資料的發送和接收。 TCP/IP 提供了一個標準化的框架,讓電腦和設備之間可以通訊,從而允許數據在連接的網路上傳輸。 TCP/IP 有多個層,每一層負責處理通訊的特定方面。

網際網路協定(IP)管理設備之間在網絡上數據包定址和路由的,是TCP/IP的基本組成部分。每個連接到網絡的設備都會由IP給予一個獨特的IP地址或網絡地址,這使得數據可以被傳輸到和從指定位置接收。

TCP 協議的特點

1. 可靠性

序列號、確認和重傳只是 TCP 用於保證可靠數據傳輸的一部分技術。 發送者傳送數據包,然後等待接收者確認該數據包已成功傳送。 為了確保數據包被送達,如果在預定時間內未收到確認,發送方會重新傳送數據包。這種可靠性機制有助於避免與傳輸相關的數據丟失或損壞。

2. 面向连接的通信

在發送資料之前,TCP協議會在發件人和收件人之間建立連接。 為了建立同步並確定通信設置,發送方和接收方在連接設置期間進行三次握手過程。在連接中斷之前,數據可以在雙方之間來回傳輸。

3. 流程管理

為了管理從發送者到接收者傳送資料的速度,TCP 使用流量控制方法。 流量控制使用滑動窗口方法來阻止發送者向接收者發送過多的數據。 發送者可以透過回應接收者廣告其可用緩衝區空間來修改其傳輸速率。 通過這樣做,可有效使用網路資源並避免擁塞或緩衝區溢出。

TCP 入門

在 Visual Studio 中建立新專案

要開啟 Visual Studio 應用程式,請選擇檔案選單。 在選擇「新專案」後,選擇「主控台應用程式」。

TCP .NET(開發人員如何運作):圖1 - Visual Studio 應用程式頁面

選擇檔案位置後,在指定的文字欄位中輸入專案名稱。 接下來,選擇所需的 .NET Framework 後,點擊創建按鈕,如下示例所示。

TCP .NET(開發人員的工作原理):圖2 - 為您的專案選擇對應的 .NET Framework

在 C# 專案中設置 TCP

.NET 基類庫的網路系統包括套接字命名空間,應該在您的 C# 專案中預設可用。 它提供了關於如何操作套接字的課程,套接字是網絡通信的端點。

在 Windows 控制台和表單中實現 TCP

TCP 支持多種 C# 應用程式類型,包括 Windows Forms。(WinForms)和 Windows 控制台。 儘管每個框架的實現方式不同,其基本概念始終相同:TCP/IP 作為您的應用程式客戶端與伺服器之間通訊的容器。

使用 TCP 的客戶端與伺服器之間通信的基本範例

TCP 代碼分為兩部分:一部分是伺服器,另一部分是客戶端。 伺服器代碼使用 IP 位址和端口向客戶端傳送訊息,而客戶端接收數據並相應處理。

TCP 伺服器代碼

using System.Net;
using System.Net.Sockets;
System.Net.ServicePointManager.Expect100Continue = false;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls 
 SecurityProtocolType.Tls11 
 SecurityProtocolType.Tls12;
var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472);
TcpClient client = new TcpClient();
client.Connect(endPoint);
NetworkStream stream = client.GetStream();
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("Hello, Ironpdf");
writer.Flush();
Console.WriteLine("Message sent");
Console.ReadKey();
using System.Net;
using System.Net.Sockets;
System.Net.ServicePointManager.Expect100Continue = false;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls 
 SecurityProtocolType.Tls11 
 SecurityProtocolType.Tls12;
var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472);
TcpClient client = new TcpClient();
client.Connect(endPoint);
NetworkStream stream = client.GetStream();
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("Hello, Ironpdf");
writer.Flush();
Console.WriteLine("Message sent");
Console.ReadKey();
Imports System.Net
Imports System.Net.Sockets
System.Net.ServicePointManager.Expect100Continue = False
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls SecurityProtocolType.Tls11 SecurityProtocolType.Tls12
Dim endPoint = New IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472)
Dim client As New TcpClient()
client.Connect(endPoint)
Dim stream As NetworkStream = client.GetStream()
Dim writer As New StreamWriter(stream)
writer.WriteLine("Hello, Ironpdf")
writer.Flush()
Console.WriteLine("Message sent")
Console.ReadKey()
VB   C#

伺服器代碼:我們正在創建一個 TCP 伺服器代碼,它將把數據包發送給已連接的客戶端。 上述範例顯示我們正在為 TCPClient 類別建立一個物件。 要連接到客戶端,我們傳遞IP地址和遠端端口號。 它將與 TCP 連接建立一個套接字連接。 然後,TCP 伺服器通過 TCP 套接字發送訊息。

TCP 客戶端代碼

// TCP client code
using System.Net;
using System.Net.Sockets;
Console.WriteLine("Message from server : Hello, Ironpdf");
System.Net.ServicePointManager.Expect100Continue = false;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls 
 SecurityProtocolType.Tls11 
 SecurityProtocolType.Tls12;
TcpClient client = new TcpClient();
var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472);
client.Connect(endPoint);
await using NetworkStream stream = client.GetStream();
StreamReader reader = new StreamReader(stream);
string response = reader.ReadLine();
Console.WriteLine(response);
Console.ReadKey();
// TCP client code
using System.Net;
using System.Net.Sockets;
Console.WriteLine("Message from server : Hello, Ironpdf");
System.Net.ServicePointManager.Expect100Continue = false;
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls 
 SecurityProtocolType.Tls11 
 SecurityProtocolType.Tls12;
TcpClient client = new TcpClient();
var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472);
client.Connect(endPoint);
await using NetworkStream stream = client.GetStream();
StreamReader reader = new StreamReader(stream);
string response = reader.ReadLine();
Console.WriteLine(response);
Console.ReadKey();
' TCP client code
Imports System.Net
Imports System.Net.Sockets
Console.WriteLine("Message from server : Hello, Ironpdf")
System.Net.ServicePointManager.Expect100Continue = False
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls SecurityProtocolType.Tls11 SecurityProtocolType.Tls12
Dim client As New TcpClient()
Dim endPoint = New IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472)
client.Connect(endPoint)
Await using NetworkStream stream = client.GetStream()
Dim reader As New StreamReader(stream)
Dim response As String = reader.ReadLine()
Console.WriteLine(response)
Console.ReadKey()
VB   C#

在上述客戶端代碼中,該代碼連接到 TCP 套接字並讀取從 TCP 伺服器內部緩衝區接收到的字符串消息,並在控制台上顯示整個消息。 閒置超時沒有預設值。 我們可以設置這個選項,以便在特定時間後關閉連接。否則,它將等待直到從服務器/客戶端收到任何響應。

在上述程式碼片段中,顯示客戶端與伺服器之間的通訊,並在控制台上顯示響應。

TCP .NET(如何為開發者工作):圖 3

TCP 協議操作

套接字管理

要連接並在端點之間交換資料,使用了TCP套接字。 要通過 TCP 進行互動,應用程式必須根據需要創建、綁定、監聽、接受、連接和關閉套接字。

安全性

通過網路傳輸的資料可以使用 TCP 和安全協議(如 TLS/SSL)進行加密,以保證機密性和完整性。

流程控制

通過流量控制方法,TCP 確保發送方不會向接收方發送過多數據。 為了達成這一點,在接收到確認訊息之前可以傳輸的數據量會透過TCP窗口協議不斷地調整。

基本客戶端和伺服器連接

要連接到 TCP 伺服器,您可以構建一個 TCP 客戶端。 為此,請使用 TcpClient 類別。

TcpClient client = new TcpClient();
var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472);
client.Connect(endPoint);
TcpClient client = new TcpClient();
var endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472);
client.Connect(endPoint);
Dim client As New TcpClient()
Dim endPoint = New IPEndPoint(IPAddress.Parse("127.0.0.1"), 57472)
client.Connect(endPoint)
VB   C#

將 TCP 整合到 IronPDF

使用TCP和IronPDF一起

當 TCP/IP 網路和 PDF 生成與IronPDF在 .NET 應用中,開發人員可以根據通過 TCP/IP 連接接收到的數據動態創建 PDF 文件。 由於這個介面允許即時文件創建和自訂,它可以用於多種目的,包括基於即時數據流生成報表、發票和報告。

安裝 IronPDF

  • 打開 Visual Studio 專案。
  • 選擇「工具」>「NuGet 套件管理器」>「套件管理員主控台」。

    • 在封裝管理主控台中,輸入以下命令:
    Install-Package IronPdf
  • 或者,您可以使用 NuGet 套件管理器為方案安裝 IronPDF。

    • 在搜尋結果中瀏覽IronPDF套件,選擇它,然後點擊「安裝」按鈕。 Visual Studio 將自動處理下載和安裝。

    TCP .NET(開發人員如何使用):圖4 - 使用「管理 NuGet 套件」為解決方案安裝 IronPDF

  • NuGet 將會安裝 IronPDF 套件以及您的專案所需的任何相依性。
  • 安裝後,IronPDF 可以用於您的項目。

通過NuGet網站安裝

訪問IronPDF 在 NuGet 網站上的頁面了解有關 IronPDF 的功能、相容性和其他下載選項的更多資訊。

利用 DLL 進行安裝

或者,您可以通過使用其 DLL 文件將 IronPDF 直接集成到您的項目中。要下載包含 DLL 的 ZIP 文件,請單擊IronPDF ZIP 檔案下載頁面. 一旦解壓縮後,將 DLL 包含到您的專案中。

實現邏輯

此整合使即時文件創建和自訂成為可能,適用於各種用例,例如根據即時資料流生成報告、發票和報表。

  1. 建立連線: TCP 提供了一種可靠的、面向連接的通信方法。建立連線的過程包括三個步驟:SYN、SYN-ACK 和 ACK。 這保證了伺服器和客戶端已準備好進行數據交換。

  2. 傳送資料: 連接建立後,資料即可在端點之間傳輸。 TCP 確保資料會正確傳送且順序正確。 資料的各個片段分別進行分隔、單獨傳輸,然後在接收方重新組裝。

  3. 接收資料:TCP 在接收端緩衝傳入的資料,直到應用程序能夠處理它。 丟失或損壞的數據段會被接收者請求重新傳輸,接收者也會確認收到這些數據段。

  4. 保存 PDF 並通知:要根據提供的數據動態生成 PDF 文件,請使用 IronPDF。 使用收到的資料,創建 HTML 內容或模板。 然後,利用IronPDF的API將該HTML內容轉換為PDF文件。
// IronPDF code here
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Dynamic PDF Document</h1><p>Data from network: "+ response+"</p>").SaveAs("document.pdf");
Console.ReadKey();
// IronPDF code here
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Dynamic PDF Document</h1><p>Data from network: "+ response+"</p>").SaveAs("document.pdf");
Console.ReadKey();
' IronPDF code here
Dim Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Dynamic PDF Document</h1><p>Data from network: " & response & "</p>").SaveAs("document.pdf")
Console.ReadKey()
VB   C#

要了解有關代碼範例的更多信息,請參閱IronPDF 文檔 - 從 HTML 創建 PDF.

以下是執行輸出:

TCP .NET(適用於開發人員的工作原理):圖 5 - 使用 TCP .NET 響應和 IronPDF 產生的輸出 PDF。

結論

總結來說,通過整合提供了一種強大的方法,用於根據通過網路連接接收的即時數據動態創建 PDF 文檔。TCP/IP 網路技術IronPDF在 .NET 應用程式中。 透過此方法,開發者可以構建文件創建系統,這些系統高效且能夠適應各種行業和使用案例。

開發人員可以可靠地透過 TCP/IP 網路連接到遠程伺服器或設備,這使他們能夠接收實時資料流,IronPDF 可以輕鬆將其包含在 PDF 文件中。 借助此整合,開發人員可以立即創建個性化報告、帳單、報表及其他文件,無需人工參與。

$749 Lite 套組包括永久授權、一年的軟體維護和 IronPDF 的庫升級。 查看Iron Software 網站了解更多關於Iron Software資料庫的資訊。

< 上一頁
MySqlclient C#(開發人員如何使用)
下一個 >
棱鏡日誌 (它對開發者的工作原理)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >