我正在開發一個分佈式應用程序,我需要將基於客戶端的Java連接到基於服務器C++
的服務器上。他們都需要互相發送信息,但我需要他們能夠在等待信息的同時做些事情,他們不知道他們何時會獲得新信息或發送信息。如何實現良好的客戶端 - 服務器方法?
我該如何做到這一點?現在我正在嘗試與套接字進行基本的通信,但我實際上並沒有進行溝通。我讀過使用套接字+線程通常是客戶端 - 服務器應用程序的好方法。
您能否推薦我一些網頁或書籍來閱讀這些信息,或者發送一些示例代碼來學習?
你認爲我應該使用其他方法,比插座更好嗎?也許更高層次的庫(我會需要它的C + +和Java)或完全不同的方式?
編輯:
我會添加一些額外的信息。
我很想實現如下:
我的C++程序有一個主循環,在這裏我想有一個像GetUpdatedDataFromRemoteDevice()
一個電話,我讀到以前得到了更新一些數值變量的新值從網絡(例如插座)。最終,C++程序需要向遠程設備發送一條消息,告訴他發送其他類型的數據,然後繼續獲取更新後的值。
從Java程序(遠程設備)運行的應用程序是一個交互式可觸摸屏幕,不能被網絡傳輸阻塞,因爲它必須爲用戶保持工作,所以所有的網絡應該在一個單獨的線程中完成。
該線程應該連接到服務器,並且當按下按鈕時,開始在循環中發送數據(4個數值改變),直到發生另一個事件。
很容易重新連接到服務器也不錯。
網絡上有很多插座教程資料,只是谷歌它。在我們能夠給出詳細的答案之前需要更多細節。你需要發送什麼數量和頻率的數據?你說他們互相發送信息 - 這是否始終由客戶端發起,還是需要一個允許服務器將數據推送到客戶端的連接? – DNA 2012-02-05 21:00:49
如果您要查找簡單易用的消息,請查看以下內容:https://public.msli.com/lcs/muscle/ – 2012-02-05 21:07:29