簡體   English   中英

如何在C#中找到哪個TcpClient發送了消息

[英]How to find which TcpClient had send a message in C#

我創建了一個系統,將一系列 TcpClient 連接到 TcpListener 並在類似聊天的系統中交換數據。 建立連接后,服務器將客戶端添加到列表中,並開始讀取流等待消息。

服務器收到消息后,是否有內置方法可以知道是哪個客戶端發送的?

替代方案:我想把客戶端的RemoteEndPoint(Ip+端口)附加到消息上來作為一個標識符,在客戶端和服務器端兩個版本的TcpClient應該是一樣的,並且相對於另一個是唯一的客戶。 我對嗎?

服務器收到消息后,是否有內置方法可以知道是哪個客戶端發送的?

什么可以添加的; 通常,您會在每個Socket / TcpClient / TcpListener / NetworkStream / Pipe (您選擇的 API)實例旁邊維護一些名義上的每個連接狀態,以便在接收消息時您可以輕松查找您需要的任何內容。 在某些情況下,使用Socket / TcpClient / etc 實例作為鍵可能就足夠了,但更多情況下,您將擁有某種用戶狀態/上下文信息。 這基本上完全取決於您來實施。

暫無
暫無

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

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