<p>socket.io 1.0 mit Titan (Appcelerator)</p>

Erstellt am 4. Juni 2014  ·  42Kommentare  ·  Quelle: socketio/socket.io

Gibt es eine Version von socket.io 1.0 für die Verwendung mit Titan (Appcelerator)?

oder können wir 0.96-Client mit 1.0-Server verwenden?

herzlich

Alle 42 Kommentare

socket.io ist ein Modul für NodeJS.
Wenn Sie SOCKET.IO zu Ihrem Projekt hinzufügen müssen, geben Sie nur Folgendes ein:

<script src="https://cdn.socket.io/socket.io-1.x.x.js"></script>
<!--source: http://socket.io/blog/socket-io-1-0-4/-->

und stellen Sie sicher, dass auf Ihrem Server socket.io ausgeführt wird

Danke, aber diese Datei, wenn wir ein Webview verwenden. Was ich brauche eine für Titan angenommene Datei wie diese?

https://gist.github.com/iamyellow/3071689

Herzlich

Was ich brauche, ist für den nativen Gebrauch als Bibliothek, nicht in Webview

Sie müssen ein natives Modul mit socketrocket erstellen (oder net.iamyellow.tiws verwenden) und den socket.io-Client leicht anpassen, damit er das verwendet, kein Fenster verwendet, Ti.Network.createHTTPClient() und Stub xdomainCheck verwendet. Ich könnte meine Gabel (https://github.com/HilkoLantinga/tiws) nächste Woche aktualisieren.

Brauchst du wirklich socket.io? Sie können ws in node und net.iamyellow.tiws in Appcelerator Titanium verwenden, wenn alle Ihre Clients Websockets unterstützen. Oder Sie führen auch eine Pipe für Ihre Titanium-Clients zu einem TCP-Socket, wenn Sie kein TLS verwenden (soweit ich weiß, unterstützt Titanium kein TLS mit TCP, daher benötigen Sie dafür ein anderes natives Modul).

Davon abgesehen... Vielleicht könnte ich meine Anpassungen so machen, dass sie in engine.io-client (und bei Bedarf auch socket.io-client) integriert werden können, damit es in Node, einem Browser und Appcelerator Titanium läuft + net.iamyellow.tiws. Ist ein Pull Request für so etwas für Automattic akzeptabel?

+1

Wir arbeiten an einer sofort einsatzbereiten Titanium-Unterstützung. Werde euch auf dem Laufenden halten

Gibt es Neuigkeiten zum Titan-Support für die neue Version 1.0?

Ich versuche es immer noch, bisher kein Glück. Aber ich habe noch etwas Arbeit, die ich zuerst erledigen muss, werde nach diesem Wochenende einen dritten Blick haben.

Irgendwelche Updates dazu?

Ich kann keine Verbindung herstellen, egal was ich tue, habe Websockets und eine lange Umfrage ausprobiert. Ich verstehe es wirklich nicht, 0.8.x und 0.9.x waren so einfach.

:+1: Ich habe es auch versucht, als 1.0 noch in der Beta war.
Es scheint sehr schwierig zu sein, da socket.io auf viele externe Bibliotheken wie engine.io usw. verweist.

Ich verwende tiws und Version 0.9.11 sowohl auf Client als auch auf Server. Es funktioniert wie ein Zauber auf Android, aber die iPhone-Version stürzt nach der Verbindung ab. Hier der Artikel in Q&A .

Verwenden Sie meine Version 0.9.16, die unter iOS (5, 6 und 7) perfekt funktioniert.

Meinst du das: https://github.com/HilkoLantinga/socket.io-client/blob/master/socket.io.js ? Scheint eine reine JS-Version zu sein

Sie verwenden das mit tiws.

Okay, habe ich gefunden. danke.

n.intersect = function(e, t) {
            var r = [], i = e.length > t.length ? e : t, s = e.length > t.length ? t : e;
            for (var o = 0, u = s.length; o < u; o++) {
                if (~n.indexOf(i, s[o])) {  // <== is it correct, I'm wondering
                    r.push(s[o])
                }
            }
            return r
        };

OK, ich kann meine App ohne Probleme mit Ihrer js-Datei kompilieren. Aber zur Laufzeit stürzt die App ab.
Welche Version von socket.io verwenden Sie auf dem Server?

0.9.16 mache ich so etwas auf dem Client:

var io = require('socket.io'),
    socket = io.connect('http://10.10.10.10:8188', {
        'transports' : ['websocket'],
        'reconnect' : true,
        'reconnection delay' : 100,
        'reconnection limit' : 5000,
        'max reconnection attempts' : Infinity,
        'query' : 'description=' + Ti.Network.encodeURIComponent(Ti.App.description) + '&guid=' + Ti.App.guid + '&id=' + Ti.App.id + '&name=' + Ti.App.name + '&version=' + Ti.App.version + '&installId=' + Ti.App.installId
    });

Server ist ungefähr so:

var app = require('express')(),
    server = require('http').Server(app),
    io = require('socket.io')(server);
server.listen(8188);

Hallo Hilko,

Danke, ich werde versuchen, Ihren Code einzubetten oder zur Inspiration zu verwenden. Jetzt ich
fang so an:

var Cligga = Funktion () {
this.eventhandlers = [];
this.socket =
require('vendor/socket.io.0.9.16').connect('ws://134.100.29.95:1334', {
Transporte : ['websocket'],
'wiederverbinden': wahr,
'Wiederverbindungsverzögerung' : 100,
'Wiederverbindungslimit': 5000,
'maximale Wiederverbindungsversuche': Unendlich,
});
console.log('Info: Socket verbunden ~ ~~' + this.socket);
this.socket.on('connect', function() {
Ti.API.log('verbunden!');
});

Nach der Verbindung dies in der Konsole:

[DEBUG] : Laden:
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/controls/cligga.adapter.js,
Ressource: control/cligga_adapter_js
[INFO] : Info: Buchse verbunden ~ ~~[Objekt Objekt]
[DEBUG] : Laden:
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/vendor/socket.io.0.9.16.js,
Ressource: Vendor/socket_io_0_9_16_js

Ich frage mich:

zuerst der verbundene Status (von meinem Ausgang) und das Laden des Moduls …

Danke schön!

Rainer

Am 13.07.14 13:54 schrieb Hilko Lantinga:

'wiederverbinden': wahr,
'Wiederverbindungsverzögerung' : 100,
'Wiederverbindungslimit': 5000,
'maximale Wiederverbindungsversuche': Unendlich,

_Dipl.-Ing. Rainer Schleevoigt_
Zertifizierter TYPO3-Integrator
Zertifizierter Titanium-App-Entwickler

Novalisweg 10

22303 Hamburg
040 27806982
|Ust-ID: DE239491976|||||||

Also funktioniert es jetzt für dich? Wenn ja, großartig und viel Spaß, wenn nicht, sehe ich keinen Fehler in Ihrer Ausgabe.

Am 13.07.14 14:14 schrieb Hilko Lantinga:

Also funktioniert es jetzt für dich? Wenn ja, super und viel Spaß, wenn nicht sehe ich nicht
irgendein Fehler in Ihrer Ausgabe.

Dies ist das Problem, es stürzt ab und ich sehe keine Nachrichten.

Auf dem Server habe ich je nach Android/iOS unterschiedliche Logs. Bei iOS vermisse ich
eine Linie.

Hier die Outout-of-Android-Anfrage auf dem Server:

Debug: Client autorisiert
Info: Handshake autorisiert crqMwdAhZnSJ_AVsPKBd
Debug: Einstellungsanforderung GET/socket.io/1/websocket/crqMwdAhZnSJ_AVsPKBd
Debug: Client autorisiert für
Debug: Websocket-Schreiben1::

und dasselbe, wenn eine iOS-Verbindung besteht:

Debug: Client autorisiert
Info: Handshake autorisiert lTC9by6zi_2KS25SPKBc
Debug: Websocket-Schreiben2::

Wie Sie sehen können: auf iOS die Linie

Einstellungsanfrage GET/socket.io/1/websocket/crqMwdAhZnSJ_AVsPKBd

wird vermisst.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48838941.

_Dipl.-Ing. Rainer Schleevoigt_
Zertifizierter TYPO3-Integrator
Zertifizierter Titanium-App-Entwickler

Novalisweg 10

22303 Hamburg
040 27806982
|Ust-ID: DE239491976|||||||

das Problem liegt an der neuen Version 1.0
mit 0,9 funktioniert es einwandfrei...
aber heute ist Socket 1.0 effizienter, also brauchen wir einen 1.0-Client

ich hoffe du bekommst schnell eine lösung

Am 13.07.14 14:37 schrieb fadaytak:

das Problem liegt an der neuen Version 1.0
mit 0,9 funktioniert es einwandfrei...

Ich habe deinstalliert mit

npm-Socket installieren. [email protected]

Ich denke auch, dass 1.0 besser ist…

aber heute ist Socket 1.0 effizienter, also brauchen wir einen 1.0-Client

ich hoffe du bekommst schnell eine lösung

In den letzten zwei Wochen arbeite ich mit dem Problem, aber ich sehe eine Lösung.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48839422.

_Dipl.-Ing. Rainer Schleevoigt_
Zertifizierter TYPO3-Integrator
Zertifizierter Titanium-App-Entwickler

Novalisweg 10

22303 Hamburg
040 27806982
|Ust-ID: DE239491976|||||||

Bei Titan ist das egal. Aber wenn Sie auch Browser-Clients haben, dann ist 1.0 sinnvoll.

Ich rechne nicht mit einer schnellen Lösung meinerseits. Ich habe diese Woche einen neuen Job angefangen, der viel Fliegen erfordert, also werde ich keine Zeit haben. Vielleicht, wenn ich wirklich Glück habe und eine schnelle Lösung finde.

Rainer, könnten Sie eine kleine App erstellen, die nicht funktioniert, und ein Repo dafür erstellen?

Am 13.07.14 14:45 schrieb Hilko Lantinga:

Für Titan ist es wichtig. Aber wenn Sie auch Browser-Clients haben, dann
1.0 macht Sinn.

Mein Plan war es, mit nativen Ansichten zu arbeiten. Jetzt denke ich an einen Push nicht
Lösung.
Mein Ziel ist eine Abstimmungs-App für Bildungsprozesse.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48839570.

_Dipl.-Ing. Rainer Schleevoigt_
Zertifizierter TYPO3-Integrator
Zertifizierter Titanium-App-Entwickler

Novalisweg 10

22303 Hamburg
040 27806982
|Ust-ID: DE239491976|||||||

Irgendein Update?

Hey Leute, gibt es Neuigkeiten zu SocketIo 1.0 auf Titan? Vielen Dank, dass Sie daran gearbeitet haben!

Ich habe aufgegeben und benutze jetzt 0.9.16.

Op 6 Okt. 2014 om 19:22 heeft nicco [email protected] het volgende geschreven:

Hey Leute, gibt es Neuigkeiten zu SocketIo 1.0 auf Titan? Vielen Dank, dass Sie daran gearbeitet haben!


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an.

das sieht vielversprechend aus, das auch browserify verwenden

https://github.com/smclab/titaniumifier

aber ab sofort:

Mit Titanifier werden Sie nicht in der Lage sein, 'komplexe' und 'tiefe' knotenartige Pakete wie socket.io zu verwenden oder darauf angewiesen zu sein;

…aber…

Wir haben (und arbeiten immer noch) daran gearbeitet, eine Lösung bereitzustellen, um jedes Node.js-Paket direkt in Ihrer App zu verwenden

Ich verwende socket.io Version 0.9.16 und funktioniert im Simulator einwandfrei, aber wenn ich versuche, eine Verbindung mit dem iPhone 5C iOS 8.1 herzustellen, passiert nichts =(

Kann jemand helfen? Vielen Dank

Ich habe versucht, auf meinem iPhone auf localhost zu laufen ... deshalb passiert nichts, denke ich, hahaha
Gibt es Neuigkeiten zur neuesten Version von socket.io?
Danke für deinen Code @HilkoLantinga

Bitte sehen Sie sich die Diskussion unter omorandi/tiws#9 an, um Updates zu erhalten.

Ich bin der Maintainer von titaniumifier bei @smclab, und wir arbeiten an einer titaniumified Lösung für socket.io .

Gibt es Neuigkeiten zu dieser Bedrohung?
Ich brauche wirklich socket.io 1.0 auf Titan =/

@yuchi hast du da Fortschritte gemacht? Haben Sie Code, der teilweise funktioniert und/oder den Sie teilen können und vielleicht können andere helfen/beisteuern?

Irgendein Erfolg ?? Gibt es jetzt Socket.io-Client für Titanium? Mein Server ist auf Socket.io 1.4.5.

Vielleicht (Idee) suchen wir nach einer Titanium Pubnub-Implementierung. Dies geschieht mit reinem TiJS:
https://github.com/pubnub/javascript/blob/master/titanium/lib/platform.js

Ich arbeite daran und schrieb ein Modul. Es funktioniert soweit. Bleiben Sie dran.

Vielen Dank

@AppWerft Mittlerweile unterstützt es nur iOS und der Installationsprozess ist so kompliziert. Und viele Funktionen bleiben ungenutzt, aber funktioniert.

https://github.com/yagitoshiro/TiSocketIOClient

var socket, io;

io = require('ro.toshi.ti.mod.tisocketio');
socket = io.createSocket({
  url: 'http://localhost:9999/'
});

socket.on('connect', function(){
  Ti.API.info('connected');
  socket.emit('fromClient', {message: 'Hello'});
});

socket.on('message', function(e){
  Ti.API.info(e);
});

socket.connect();

$.index.addEventListener('close', function(){
  socket.disconnect();
});

Irgendwelche Neuigkeiten?

Falls jemand darüber stolpert, gibt es mittlerweile ein offizielles Modul: https://github.com/appcelerator-modules/titanium-socketio

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen