簡體   English   中英

通過TCP連接到多個客戶端的服務

[英]A service that makes tcp connections to multiple clients

在線上的大多數示例都是多線程tcp服務器的示例,通過該服務器,服務器偵聽來自客戶端的多個傳入連接。

我正在尋找的是“服務器”,以啟動連接。 如果我有100個設備(當然,所有IP地址都不同),我的服務器將必須與每個設備建立100個單獨的連接並從這些設備接收數據。

這就是我與設備建立連接的方式

_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, true);
_socket.SendTimeout = 2000;
_socket.ReceiveTimeout = 2000;
_socket.Connect(new IPEndPoint(IPAddress, TCPPort));

但是我想知道是否有任何組件可以滿足以下要求

  • 建立盡可能多的TCP連接到設備
  • 通過連接接收和發送數據
  • 處理tcp超時/斷開連接/等並重新建立與IP的連接

如果沒有任何此類組件,是否有關於如何進行此操作的提示? 例如,每個線程1個連接,或者如果在多個數據包中接收到數據,該如何處理?

任何見解將不勝感激

您可以使用幾種現有組件來實現所需的功能。 檢出http://www.networkcomms.nethttp://code.google.com/p/lidgren-network-gen3/

話雖如此,人們總是喜歡補充一點,沒有什么可以阻止您按照所舉的例子從頭開始編寫所有內容。

免責聲明:我是NetworkComms.Net的開發人員。

暫無
暫無

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

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