我有第三方服務器週期性地將http post請求消息發送到URL(可以配置)。在我的應用程序中,我通過啓動碼頭服務器並監聽配置的URL上的數據來讀取數據。
想知道是否可以監聽服務器發送的數據,而無需啓動像碼頭這樣的服務器?在沒有服務器的情況下讀取httppost請求消息
回答
您總是可以自己創建一個套接字,並在端口80(或類似的東西)上偵聽HTTP請求。見http://download.oracle.com/javase/6/docs/api/java/net/ServerSocket.html
但有幾個問題:Theres很多開銷,你需要做的自己。解析HTTP請求,提取標題和正文,並根據頭文件需要做某些事情,例如緩存,身份驗證等。這就是你需要實現的很多東西。使用現有的Web服務器通常是一個更好的主意,因爲編寫它的人(通常)確切知道他們在做什麼。
另一種選擇是Apache的HttpCore庫(http://hc.apache.org/httpcomponents-core-ga/index.html)。你可以使用它來編寫你自己的Http服務器...但是,仍然有很多東西需要你照顧...
如果你想這樣做的目的是爲了學習,繼續並實施它你自己。當它用於生產時,堅持使用常用的Web服務器。
啓動碼頭服務器不是開銷嗎?如果我有像成千上萬的http請求消息進來,碼頭服務器會創建幾個servlet線程,並佔用大部分jvm執行時間 – vjk
但碼頭知道如何處理這些,因爲碼頭開發人員考慮縮放......您可以嘗試不同的服務器,如tomcat/catalina等,看看哪一個最適合你的情況。在某些邊緣情況下,編寫自己的服務器可能會很好,但我認爲在這種情況下,您正在描述的是您現成的產品效果更好 – klaustopher
無法與最後一點保持一致。誠實地說,vjk,如果你已經問過如何在沒有HTTP服務器的情況下監聽HTTP請求,那麼你最好不要自己重新啓動HTTP服務器(還)。 – BalusC
- 1. SocketException在沒有onError的情況下取消訂閱請求
- 2. Android NIO服務器選擇器在沒有消息發送的情況下正在讀取
- 3. 如何在沒有連續連接的情況下請求服務器
- 4. 在沒有存儲在服務器上的情況下讀取文件?
- 5. 在沒有Web服務器的情況下構建Web服務
- 6. 如何在RESTful服務端請求讀取JSON消息。
- 7. Android HttpPost請求到服務器
- 8. 服務器不讀取沒有MIME類型的請求
- 9. 有沒有一種方法可以在沒有網絡服務器的情況下發送php post請求?
- 10. Restlet:如何取消服務器請求日誌消息
- 11. 如何在沒有發送請求的情況下從android中的服務器獲取數據?
- 12. 在不刪除的情況下讀取ActiveMQ消息
- 13. 在沒有服務引用的情況下調用WCF服務
- 14. 在沒有服務器的情況下發送數據
- 15. 在沒有web服務器的情況下生成WSDL
- 16. Chrome無法在沒有服務器的情況下設置Cookie
- 17. 在沒有X服務器的情況下運行inkscape
- 18. 在沒有網絡服務器的情況下運行Django
- 19. 在沒有服務器的情況下重新使用導航
- 20. 在沒有服務器的情況下執行反應webpack包
- 21. 在沒有服務定位器的情況下注入ViewModels
- 22. 如何在沒有Web服務器的情況下運行php?
- 23. 如何在沒有WMSpanel的情況下設置Nimble服務器?
- 24. 如何在沒有服務器的情況下使用jQuery ajax
- 25. 如何在沒有服務器的情況下使用ember.js
- 26. 在沒有安裝SMTP服務器的情況下測試Greenmail
- 27. Jhipster:在沒有網絡服務器的情況下運行junittest
- 28. 在沒有bodyParser的情況下從AngularJS的Node.js請求數據
- 29. 在沒有請求許可的情況下區分facebook用戶
- 30. 如何在沒有請求對象的情況下獲得PortletPreferences
你有沒有碼頭的HTTP服務器?是的,有很多選擇。你有沒有HTTP服務器的HTTP服務器? No. –