1
實施客戶端/服務器解決方案時,您總是需要回答的問題之一就是協議。在Java中實現自定義協議邏輯?
在簡單情況下,數據包總是可能是相同類型的,所以協議甚至可能根本沒有邏輯:客戶端連接到服務器,服務器只是說一些事實,客戶端斷開連接,就是這樣。
在更復雜的情況下,某些數據包只能在特定情況下發送。例如,想象一個需要授權的抽象服務器:在發送或獲取任何有用數據之前,客戶端必須授權。在這種情況下,會話的概念出現。
會話是一種描述客戶端/服務器對話狀態的概念:客戶端和服務器端希望來自彼此的東西,但也有一些事情他們都不期望。
然後,更深入,假裝協議是相當複雜的,它的實現應該很容易擴展。我相信,這裏理論上正確的解決方案是使用有限狀態機。是否有任何Java框架/庫允許這個狀態機容易實現?或者可能還有其他協議特定的解決方案?
我期待的是一個框架,它允許我定義它們之間的狀態和轉換。
更新:問題不在於最簡單的客戶端/服務器解決方案實現,而是關於實現自定義協議的問題。所以,請不要推薦使用網絡服務。
你有沒有考慮使用網絡服務或類似的東西?你不必實現自己的解決方案,你可以使用WS作爲已經證明的方法。 – vmg 2011-08-17 11:13:09