2013-10-22 28 views
0

有沒有辦法將數據從本地服務器(託管在Intranet上)推送到Android應用程序而無需互聯網連接?該應用程序應該只能通過無線局域網工作。由於互聯網連接不可用,GCM已不適用。然而,應用程序將始終在兩個設備上運行。如何將數據從本地服務器推送到Android設備 - 無GCM,無互聯網連接

的模型,我說的,是這樣的:

設備:本地服務器 - WiFi連接 - Android設備1,Android設備2

Android設備1更新本地服務器上的一些數據wifi ...服務器需要通知Android設備2關於Wifi的變化。

非常感謝您的幫助

+0

有你看,你可以通過WiFi是在本地運行的WebSockets只是給設備服務器的地址,它應該工作的罰款。看看socketIO。 – bobthemac

+0

我在家中使用套接字的應用程序。我遵循這個教程,非常容易遵循,並移植到Android。 http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html –

回答

0

是的,這是可能的。

我使用套接字連接來做到這一點。

requestSocket = new Socket(); 
SocketAddress socketAddress = new InetSocketAddress(ipAddress, portNumber);     
requestSocket.connect(socketAddress, timeOutPeriod); 

在服務器端,您需要使用您喜歡的任何語言打開這些套接字和端口。之後,您可以使用流讀取或寫入數據。

0

你應該看着像socketIO對於一個項目不是很久以前,只要你知道服務器的地址,它是在兩個設備上相同,你應該能夠將數據推,並從使用服務器從任何設備。我們一羣人用它做一個筆記應用程序。您可能需要在html和javascript中構建您的應用程序,除非您想使用也可以完成這項工作的Java套接字通信,但會涉及更多工作。

+0

感謝您的回答。我需要更多信息。 WebSockets和普通套接字有什麼區別? 對於我的用例,本地服務器在Windows中運行,具有MySQL數據庫連接。所以如果我想使用SocketIO,那麼我必須編寫基於SocketIo的Windows本地服務器代碼和Android應用程序中的客戶端代碼。 ? 如果我使用SocketIO,它是否具有PUSH到Android應用程序功能? – user2902822

+0

爲了使用socketIO,您需要爲socketIO構建服務器端服務器系統,通常在node.js中完成,但可以使用其他語言(如python)完成。不知道推動android應用程序功能通常編程爲html5應用程序,並將其與諸如triggerIO之類的軟件進行打包,並以設定的時間間隔輪詢更改。 – bobthemac

0

可能是你可以通過消息服務器實現消息隊列

相關問題