2017-02-04 165 views
-1

這非常簡單。如果uri爲http://localhost:8081/,我有一個WebSocketServer項目,但如果我使用本地IP而不是本地IP地址http://10.0.0.201:8081/,它會拒絕回答該IP上的請求。我相信它是一個權限問題,或者無法訪問端口問題,但坦率地說,我沒有收到任何錯誤。它只是沒有迴應。任何人都可以對此有所瞭解嗎?這一切都在C#中。使用IP無法連接到WebSocketServer(但本地主機正常)

這又是一個服務器。它應該在10.0.0.201上監聽(當然還有localhost)。本地主機工作,但IP不從任何客戶端。

我故意沒有發佈代碼(儘管我可以在必要時),因爲這是一個支持多個併發客戶端的多線程應用程序。它通過本地主機完美地工作。我只是將「localhost」一詞改爲機器的IP。失敗感覺像是一個綁定或權限問題。

+0

服務器實際正在監聽的IP是什麼?它是在10.0.0.201還是至少0.0.0.0收聽?或者它是否在127.0.0.1上監聽? –

+0

是的,它正在10.0.0.201上收聽。這是我正在談論的服務器。 -1 lol。它聽取罰款,如果uri是本地主機。 –

+0

在您的服務器10.0.0.201中,端口8081是否打開?嘗試使用與帖子和10.0.0.201並檢查它是否應用程序是專門指向這個IP。 – Thennarasan

回答

0

這可能是由於HTTP綁定在你的網絡服務器(例如IIS),綁定可以明確要求localhost如果URI沒有localhost那麼它會拒絕此連接。

嘗試將綁定更改爲空的主機名和URI應該是允許的。

+0

我實際上正在編寫一個Web服務器,而不是使用IIS。 –

+1

然後,您可能想要檢查您的WebServer中綁定了哪個接口,因爲您可以綁定到'loopback',它將響應'localhost'而不是顯式IP。 – Mobigital

+0

你正在測試'http:// localhost:8081 /'vs'http://10.0.0.201:8081 /'來自你的網絡服務器運行的同一臺主機嗎?不從其他機器? – Mobigital

0

這是一個建議,而不是答案。你有沒有嘗試從另一臺機器上點擊WebServer?即使它只是一個靜態測試頁面? 它可能是一個燙髮問題,但這至少會告訴你,如果本地網絡上的任何機器可以使用IP /端口配置到達它。

+0

是的,謝謝你的建議。這是我嘗試的第一件事,也是我提出的問題。然後我在本地嘗試,發現相同的問題。 –