2014-02-07 82 views
0

我想知道什麼是通過wifi在計算機上通過android應用程序和java軟件進行通信的最有效方式。 我使用rmi每10秒發送一次信號來知道我的設備是否仍連接到我的電腦上的rmi服務器。通過wifi進行通信的最有效方式

但是,主要的問題是使用RMI進行通信並不是真的有效,當許多設備嘗試與計算機通信時,由於我的接入點無法處理所有數據發送,所以我收到了一些超時異常。

這就是爲什麼我試圖找到更少的數據消耗來溝通和知道設備連接或不連接到我的應用程序。 (我大概仍然可以使用RMI進行準時動作,但每10秒發送一個RMI數據包可能不是最好的方式)

謝謝。

回答

1

直接Socket連接。當然,你需要在那裏想出一些應用程序級別的協議,否則你只是將字節從一個地方發送到另一個地方。

例如,您可以讓第一個字節指示消息的類型,第二個字節(或短的)是有效負載的大小。然後你可以發送多達256(或65536)字節的消息給服務器,並且幾乎可以做你想做的事情。

+0

這就是我的想法,但我可以確定,如果我的字節發送工作,rmi通信將可用。我的意思是,你是否有一些情況下我的字節可以工作,並通過rmi進行溝通? – Substitut

+0

那麼,RMI是Java特有的,在我看來有點過時了。它本質上是Java自己的RPC實現,所以如果你的服務器變成非java實現,你將會遇到麻煩。 – Kayaman

+0

我的確如我們之前所說的那樣工作得更好,但我仍然有一些連接問題。我將套接字超時設置爲1000毫秒,並有一些套接字超時異常,你認爲這是正常的嗎?增加套接字超時將是一個答案? – Substitut

相關問題