假設我有一個偵聽TCP端口的服務器(通過TcpListener),並且我有五個到該服務器的不同連接(通過TcpClient)。我將如何通過流發送信息給每個人,而不會將錯誤的信息提供給錯誤的客戶端。
例如:
所有連接到服務器的五個客戶端。 我必須將消息「這是一條消息」發送給客戶端1,但我不想將該消息發送給客戶端2,3,4和5.我還希望將消息「這是另一條消息」發送給客戶端3和5,但不發送該消息給客戶端1,2和4.
我到底該如何去做這件事?對於每個Tcp連接,我都有一臺服務器,我如何分別管理每臺服務器?
1
A
回答
2
TcpListener
類別具有方法AcceptSocket
和AcceptTcpClient
。他們爲連接到服務器的每個客戶端返回一個不同的Socket
(或TcpClient
) - 您使用這些對象向各個客戶端發送數據。
2
接受Socket或調用AcceptTcpClient之後,可以使用端點區分它們。如果您想知道要發送到哪個端點,您應該使用它們的IP和/或端口來區分它們。你可以參考這篇文章來看看如何做到這一點getting-the-ip-address-of-a-remote-socket-endpoint
編輯:你可以看到如何發送/接收例如here
相關問題
- 1. 我想連接一個服務器數據庫到另一臺服務器
- 2. 如何從一臺MySQL服務器連接到另一臺MySQL服務器?
- 3. 管理和在一臺服務器
- 4. 如何連接3臺MSSQL服務器
- 5. 一臺網絡服務器之間的連接一臺私人服務器
- 6. 從一臺服務器到另一臺服務器的數據庫連接
- 7. 我必須每週使用shell腳本將日誌從一臺服務器移動到另一臺服務器
- 8. 每個服務器2個連接?
- 9. 從另一臺linux服務器在Linux平臺上連接postgres服務器
- 10. 如何在一臺服務器出現故障時處理TCP長連接?
- 11. android報警管理器每15分鐘運行一次後臺服務
- 12. 每臺服務器的magento資源連接
- 13. 每臺服務器的最大連接數
- 14. 管理Git登臺服務器和Live服務器
- 15. 將映像文件從一臺服務器保存到另一臺服務器,每x分鐘重複一次
- 16. 用於服務器到服務器連接的單個持久性TCP連接
- 17. ActiveMQ Ubuntu服務器管理控制檯
- 18. 後臺服務報警管理器
- 19. 無法連接到Glassfish服務器3管理控制檯
- 20. Exchange管理控制檯連接到錯誤的服務器
- 21. 使用1臺5 MySQL服務器和連接服務器togther
- 22. 用git從一臺服務器推到另一臺服務器
- 23. 一臺帶有一臺應用服務器或多臺應用服務器的高端服務器?
- 24. 將網絡和文件服務器拆分爲每臺專用服務器
- 25. 如何在兩臺服務器之間建立TCP連接(如果兩臺服務器都可以啓動連接)?
- 26. 每30分鐘自動Ping一臺外部服務器
- 27. 2臺服務器之間的連接
- 28. 使用PgPool連接兩臺服務器
- 29. 如何每次在同一臺服務器上啓動ActiveMQ WebConsole?
- 30. Nginx上的反向代理服務器從一臺服務器到另一臺
數據怎樣在這些數據中,我通過客戶端發送讀? – Phxvyper
@NikkuAisuru我相信這些文檔能夠解決這個問題。 – millimoose
因此,如果我使用... TcpListener TCListen = new TcpListener(「localhost」,90); TcpClient TClient = TCListen.AcceptTcpClient(); StreamWriter serverwriter = new StreamWriter(TClient.GetString()) then ... serverwriter.Write(「Message」); ... 它只會發送「消息」給一個人嗎? – Phxvyper