2016-12-03 50 views
0

我正在使用sparkjava.com爲移動應用程序設置一個小型服務器。它嵌入了一個碼頭服務器,當我撥打像http://localhost:4567/myRequest時,它工作正常。但現在我想從我的本地環境外部調用它。如何使用Spark的嵌入式碼頭服務器收聽外部請求

我嘗試設置IP地址了以下內容:

Spark.ipAddress("my-ip") 

與「我的-IP」是什麼,我像www.whatismyip.com東西找到。但是,當我發動得到

[Thread-0] ERROR spark.embeddedserver.jetty.EmbeddedJettyServer - ignite failed 
java.net.BindException: Cannot assign requested address: bind 

我用java的經驗,但不幸的是不是所有Web開發本身,所以我有點失落...是否有人爲知道它是如何工作的?

謝謝

+0

你必須從你的互聯網服務提供商租用一個靜態的IP號碼,建立該外部訪問的基礎設施。我建議您在Openshift,Amazon或Azure點燃一臺免費機器,以便熟悉這些外部訪問問題,從而開始使用。但是,爲了測試目的,已經可以使用內部IP從您的局域網訪問您的應用程序。 –

+0

你也可以嘗試在heroku上運行你的服務器! – Andrew

回答

1

你需要你的Web API應用程序部署到一些服務器。你可以做的最簡單的事情就是將它部署到一些免費的PaaS,比如heroku。除此之外,如果您的API將從其運行的服務器外部調用,則需要在Spark中實現CORS。

這裏有兩個教程介紹瞭如何做到這一點: https://sparktutorials.github.io/2015/08/24/spark-heroku.html https://sparktutorials.github.io/2016/05/01/cors.html

+0

對不起,遲到的答案,但謝謝,那就是我一直在尋找:) – Th4n4to