簡體   English   中英

無法建立連接,因為目標計算機在System.Net.Sockets.Socket上主動拒絕它127.0.0.1:57240

[英]No connection could be made because the target machine actively refused it 127.0.0.1:57240 at System.Net.Sockets.Socket

我一直在開發Web服務和Windows服務,我部署的Web服務在另一台服務器上,我部署的Windows服務在我自己的服務器上工作,所以我使用windows服務來調用Web服務。 一切都很好,但幾天后我收到了以下消息:

System.Net.WebException: Unable to connect to the remote server ---> 
System.Net.Sockets.SocketException: No connection could be made 
because the target machine actively refused it 127.0.0.1:57240
at 
System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress 
socketAddress) at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at
System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4,Socket 
s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace -
-- at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

因為目標機器主動拒絕它127.0.0.1:57240

在這種情況下,“目標機器”是運行故障代碼的機器。 不是遠程機器。 127.0.0.1是“localhost”的IP地址,您可以使用它來獲取在同一台機器上運行的兩個進程,以便通過套接字相互通信。 這並不罕見,例如,使用命名管道可能更容易。

但是當然你希望它連接到另一台機器,實際上有一個應用程序正在監聽。 您的程序配置有問題,它正在嘗試連接到不存在的服務。 對於如何發生這種情況沒有任何見解,您的問題缺少關於您如何選擇目標機器的所有細節。 如果您通過名稱而不是IP地址選擇它,那么LAN上的命名服務就會出現一些非常棘手的問題。 或者,當您從測試模式進入部署模式時,您只是忘記更改配置。 或者你放棄了嘗試一堆不起作用的東西,因為防火牆阻止了訪問。

我想,您需要在“互聯網選項”中檢查您的代理設置。 如果您使用proxy /'hide ip'應用程序,則可能會出現此問題。

在我的情況下,我改變了代理設置。

端口57240看起來像客戶端的應用程序端口,您的服務器應用程序可能在較低端口上運行。 因此看起來客戶端崩潰並且通信套接字已關閉。

暫無
暫無

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

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