2012-04-10 30 views
5

我在SocketIO的網站上看到可以使用SocketIO移動設備。我試圖在其網站上找到關於如何做到這一點的文檔,但我找不到任何文檔。NodeJS + SocketIO推送到移動應用程序

有沒有人想過如何使用SocketIO向移動設備發送消息?我的猜測是,它必須住在WebView或可以運行JavaScript的東西?

編輯 如果我不打算使用什麼煎茶或PhoneGap的。我想去土生土長。的Objective-C/Java的。這可能嗎?

添加到選定的答案 我發現一個Java socket.io客戶 https://github.com/benkay/java-socket.io.client

回答

5

Socket.io它利用網絡套接字協議(客戶端通過HTTP發送到服務器的升級請求)提供全用於通信的雙工信道。正如你所提到的,它正在移動領域的許多網頁瀏覽器中得到支持。

爲了實現這一點,使用情況將是一個,比如你有被開發一個基於PhoneGap的應用基本上是HTML,CSS & JS。因此,要使用專用全雙工通信信道,您可以使用socket.io

當你寫你的節點JS服務器:參照的Socket.io Website

var io = require('socket.io').listen(80); // beauty is web socket still runs in 80/443(WSS) and leverages TCP's capabilities. 

io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

但在移動開發方面,你將不得不包括JS在你的HTML,你希望利用網絡套接字的能力。

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://localhost'); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 
</script> 

可下載客戶端JS是在socket.io網站上提供。

希望這會有所幫助。

+0

嘿謝謝你的回覆。如果我想在本地執行此操作,該怎麼辦? – denniss 2012-04-10 19:25:21

+0

我相信這應該適合你 - http://code.google.com/p/unitt/wiki/UnittWebSocketClient – Futur 2012-04-11 04:52:31

+0

也是這個https://github.com/square/SocketRocket – Futur 2012-04-11 04:57:56

相關問題