2014-09-27 88 views
0

我想弄清楚如何通過iOS應用程序將事件通知發送到位於路由器&防火牆後面的Linux盒子。現在,我的計劃是使用像Socket.IO這樣的服務,但他們似乎沒有iOS SDK。所以,我的問題是:針對iOS的跨平臺設備消息傳遞?

  1. 是否有可能不使用一樣的Socket第三方服務做到這一點(從iOS設備傳遞信息到我的家庭局域網內一臺機器上運行的應用程序的Node.js)。 IO還是Firebase?
  2. 如果沒有,那麼什麼樣的服務能夠代理iOS設備和linux盒子之間的通信? (理想情況下,iOS SDK和官方支持的節點包都有)。
+0

你必須弄清楚你的兩個設備將如何相互連接。如果您的Linux服務器位於防火牆之後,並且您沒有在防火牆上打出任何漏洞以便通過防火牆直接連接到它,則無法連接到防火牆。服務器必須將出站連接到某個地方。我不知道你是否可以直接連接到服務器的IOS設備(我懷疑它),這就是爲什麼像這樣的許多問題使用雲中的服務器(可訪問)並且兩臺設備都連接到它。 – jfriend00 2014-09-27 19:11:23

+0

我認爲你的首要任務是在你尋找特定的圖書館來幫助你之前弄清楚一般的連接架構。 'socket.io'只是一個服務器和客戶端庫 - 它沒有第三方代理服務。 – jfriend00 2014-09-27 19:12:40

+0

哎呦,和socket.io我真的是指pusher.com。 DERP。 – QRohlf 2014-09-27 19:30:21

回答

0

對,所以這是一個愚蠢的問題。

這裏真正的問題是我需要把它分解成更易消化的子任務。因此,而不是試圖解決「推事件從移動設備到LAN /防火牆後面的盒子」,我解決了:

  1. 具有LAN後面的箱子訂閱事件通知從地方公共互聯網上。在這種情況下,我正在爲linux框架構建一個節點客戶端應用程序,該應用程序使用websockets穿透防火牆並打開到服務器端點的連接並接收事件。
  2. 有辦法將事件從iOS應用程序推送到公共互聯網。如果我有一個REST API託管在我的應用程序可以呼叫的地方,那麼無需額外的庫就可以輕鬆完成此任務。第三部分是很容易弄清楚的:我需要在某個地方有一個「服務器」應用程序,它暴露了我的iOS應用程序可以與之通信的REST API,然後通過websocket將事件推送到Linux框。所以我可能只是在那裏拋出一個最小的Express應用程序,它可以將來自手機的API調用代理到套接字,反之亦然。繁榮。
+0

你可以接受你自己的答案來解決這個問題。 – jfriend00 2014-09-28 01:40:56

+0

我有兩天的時間才能接受它。 – QRohlf 2014-09-28 05:03:16

相關問題