我有一個問題。 我想創建一個套接字偵聽器,但偵聽地址來自遠程服務器。遠程插座監聽器
所以說SERVER A有套接字監聽器。 服務器B(例如IP = 123.456.78.23:1970)具有監聽端口。
如果我創建這樣的插座(和執行它在服務器A):
IP EndPoint endpointIp = new IPEndPoint(123.456.78.23, 1970);
this._socket = new Socket(endpointIp.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
this._socket.Bind(endpointIp); // crashes here
this._socket.Listen(MaxPendingConnections);
上綁定代碼的程序崩潰:「請求的地址不在其上下文中有效」。
如何在遠程端口上收聽?
謝謝!
您無法偵聽另一臺服務器上的端口。您可能想要使用套接字連接到特定端口上的服務器。這是你需要/想要的嗎? – Icarus
你好,這是我的設置。我有2臺服務器(使用biztalk),它們的工作方式類似於故障轉移設置,如果一臺服務器停機而另一臺服務器停機。我不知道你是否熟悉biztalk,但它是這樣的:2臺服務器與biztalk連接,在biztalk內部,我有一個監聽端口的監聽器。現在2臺服務器都有不同的IP地址,所以如果1臺服務器出現故障,另一臺服務器無法接管,因爲它正在監聽一個不存在的IP ..所以我想我會聽IP地址沒有鏈接到服務器,但這顯然是不可能的。 –
你想實現的是負載均衡的一個子集。這將需要一個負載均衡器 - 一個路由器或另一個服務器(具有特殊應用),將坐在服務器A和B的前面。 –