2012-04-10 3 views
5

Ich sehe auf der Website von SocketIO, dass es möglich ist, SocketIO für mobile Geräte zu verwenden. Ich habe versucht, auf seiner Seite eine Dokumentation darüber zu finden, wie das geht, aber ich konnte keine finden.NodeJS + SocketIO drängen auf Mobile App

Hat jemand herausgefunden, wie man mit SocketIO eine Nachricht an ein mobiles Gerät sendet? Meine Vermutung ist, dass es in einem WebView oder etwas, das Javascript ausführen kann, leben muss?

BEARBEITEN Was ist, wenn ich nicht vorhabe, Sencha oder PhoneGap zu verwenden? Ich möchte heimisch werden. Ziel-C/Java. Wäre das möglich?

auf die gewählte Antwort Hinzufügen ich ein Java-Client socket.io gefunden https://github.com/benkay/java-socket.io.client

Antwort

5

Socket.io die Web-Socket-Protokoll nutzt (ein Upgrade-Anfrage an den Server vom Client über HTTP gesendet) bietet eine vollständige Duplex-Kanal für die Kommunikation. Es wird von vielen Webbrowsern im mobilen Raum unterstützt, wie Sie erwähnt haben.

Um dies zu implementieren, wäre einer der Anwendungsfall, zum Beispiel Sie haben eine Phonegap-basierte App zu entwickeln, die im Grunde HTML ist, CSS & JS. Um einen dedizierten Vollduplex-Kommunikationskanal zu haben, können Sie socket.io verwenden.

Wenn Sie schreiben Ihre Knoten JS Server: Mit Bezug der 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); 
    }); 
}); 

Aber in deinem Handy dev Seite, werden Sie die JS in Ihrem HTML umfassen müssen, wo Sie Web-Socket-Fähigkeiten nutzen wollten .

<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> 

Ein herunterladbarer Client JS ist auf der Website socket.io verfügbar.

Hoffe, das hilft.

+0

Hey danke für die Antwort. Was, wenn ich das nativ machen möchte? – denniss

+0

Ich glaube, das sollte für Sie funktionieren - http://code.google.com/p/unitt/wiki/UnittWebSocketClient – Futur

+0

Auch diese https://github.com/square/SocketRocket – Futur