簡體   English   中英

C#中的異步套接字 - 了解您的客戶

[英]Async Sockets in C# - Knowing your clients

我確信這有一個簡單的解決方法,但是現在我似乎無法找到一個優雅的解決方案。 我已經構建了一個ASync C#服務器應用程序,它接受多個客戶端並很好地處理它們,但是為了繼續,我需要能夠確定哪些客戶端連接到我的服務器(將只有兩個客戶端,它們都做不同的事情)。

當我的程序接受這些客戶端時,我希望服務器知道客戶端地址,並指示哪個客戶端可能存儲在一個小列表中。

所以我想我要問的是,有一個簡單的方法,當客戶端連接時,向服務器發送預定義的消息,讓它知道客戶端應用程序到哪個地址?

謝謝

有很多方法。

最簡單的方法之一是為每個客戶端應用程序提供不同的端口。 另一種方式是“連接”(在TCP握手之后)是在交換任何數據之前發送標識應用程序的消息。 另一種選擇是為每個請求/回復添加標題,說明應用程序並存儲它。

您可以通過套接字自由發送所有類型的數據。

要解決這個問題,請在客戶端和服務器之間創建一些協議。

例如,在連接時發送第一條消息以將客戶端標識到服務器。 從那以后繼續這兩者之間的正常對話。

服務器可以接受顯示它的消息和存儲,甚至在第一條消息不包含約定信息時拒絕客戶端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM