<p>socket.io 1.0 avec du titane (appcelerator)</p>

Créé le 4 juin 2014  ·  42Commentaires  ·  Source: socketio/socket.io

existe-t-il une version de socket.io 1.0 à utiliser avec le titane (appcelerator) ?

ou pouvons-nous utiliser un client 0.96 avec un serveur 1.0 ?

Cordialement

Tous les 42 commentaires

socket.io est un module pour NodeJS.
Si vous avez besoin d'ajouter SOCKET.IO dans votre projet, mettez uniquement :

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

et assurez-vous que votre serveur exécute socket.io

Merci, mais ce fichier lorsque nous utilisons un Webview. Ce dont j'ai besoin d'une lime adoptée pour le titane comme celle-ci

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

Chaleureusement

Ce dont j'ai besoin, c'est pour une utilisation native en tant que bibliothèque, pas dans Webview

Vous devez créer un module natif avec socketrocket (ou utiliser net.iamyellow.tiws) et ajuster légèrement le client socket.io pour qu'il l'utilise, n'utilise pas de fenêtre, utilise Ti.Network.createHTTPClient() et stub xdomainCheck. Je pourrais mettre à jour mon fork (https://github.com/HilkoLantinga/tiws) la semaine prochaine.

Avez-vous vraiment besoin de socket.io ? Vous pouvez utiliser ws dans node et net.iamyellow.tiws dans Appcelerator Titanium si tous vos clients prennent en charge les websockets. Ou également rediriger vers un socket tcp pour vos clients Titanium si vous n'utilisez pas TLS (pour autant que je sache, Titanium ne prend pas en charge TLS avec TCP, vous auriez donc besoin d'un autre module natif pour cela).

Cela étant dit... Peut-être que je pourrais faire mes ajustements de manière à ce qu'ils puissent être intégrés dans engine.io-client (et peut-être si nécessaire socket.io-client), afin qu'il s'exécute dans un nœud, un navigateur et Appcelerator Titanium + net.iamyellow.tiws. Une demande de tirage pour quelque chose comme ça est-elle acceptable pour Automattic ?

+1

Nous travaillons sur un support Titanium prêt à l'emploi. Je vous tiendrai au courant les gars

des nouvelles du support du titane pour la nouvelle version 1.0 ?

J'essaye toujours, pas de chance pour l'instant. Mais j'ai du travail que je dois terminer en premier, j'aurai un troisième coup d'oeil après ce week-end.

Des mises à jour à ce sujet ?

Je ne parviens pas à le connecter, peu importe ce que je fais, j'ai essayé les Websockets et les longs sondages. Je ne comprends vraiment pas, 0.8.x et 0.9.x étaient si faciles.

:+1: J'ai aussi essayé pendant que la 1.0 était en version bêta.
Cela semble être très difficile car socket.io fait référence à de nombreuses bibliothèques externes comme engine.io etc.

J'utilise tiws et la version 0.9.11 à la fois sur le client et le serveur. Cela fonctionne comme un charme sur Android, mais la version iPhone plante après la connexion. Ici l' article en Q&A .

Utilisez ma version 0.9.16, qui fonctionne parfaitement sur iOS (5, 6 et 7).

Voulez-vous dire ceci : https://github.com/HilkoLantinga/socket.io-client/blob/master/socket.io.js ? Cela semble être une version JS pure

Vous l'utilisez avec des tiws.

D'accord, j'ai trouvé. merci.

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, je peux compiler mon application avec votre fichier js sans problème. Mais au moment de l'exécution, l'application plante.
Quelle version de socket.io utilisez-vous sur le serveur ?

0.9.16, je fais quelque chose comme ça sur le 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
    });

Le serveur est quelque chose comme ceci :

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

Salut Hilko,

Merci, je vais essayer d'intégrer votre code ou de m'en inspirer. Maintenant je
commencer de cette manière :

var Cligga = fonction() {
this.eventhandlers = [];
this.socket =
require('vendor/socket.io.0.9.16').connect('ws://134.100.29.95:1334', {
transporte : ['websocket'],
'reconnecter' : vrai,
'délai de reconnexion' : 100,
'limite de reconnexion' : 5000,
'max tentatives de reconnexion' : infini,
});
console.log('Info : socket connecté ~ ~~' + this.socket);
this.socket.on('connect', function() {
Ti.API.log('connecté !');
});

Après la connexion, ceci dans la console :

[DEBUG] : Chargement :
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/controls/cligga.adapter.js,
Ressource : controls/cligga_adapter_js
[INFO] : Info : prise connectée ~ ~~[objet Objet]
[DEBUG] : Chargement :
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/vendor/socket.io.0.9.16.js,
Ressource : fournisseur/socket_io_0_9_16_js

Je me demande:

d'abord l'état connecté (de ma sortie) et le chargement du module …

À votre santé!

Rainer

Le 13/07/14 13:54, Hilko Lantinga a écrit :

'reconnecter' : vrai,
'délai de reconnexion' : 100,
'limite de reconnexion' : 5000,
'max tentatives de reconnexion' : infini,

_Dipl.-Ing. Rainer Schleevoigt_
Intégrateur TYPO3 certifié
Développeur d'applications Titanium certifié

Novalisweg 10

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

Alors ça marche pour toi maintenant ? Si c'est le cas, super et profitez-en, sinon je ne vois aucune erreur dans votre sortie.

Le 13/07/14 14:14, Hilko Lantinga a écrit :

Alors ça marche pour toi maintenant ? Si oui, super et profitez-en, sinon je ne vois pas
toute erreur dans votre sortie.

C'est le problème, il plante et je ne vois aucun message.

Sur le serveur, j'ai des journaux différents selon Android/iOS. Sur iOS, je m'ennuie
une ligne.

Voici la sortie de la requête android sur le serveur :

débogage : client autorisé
info : poignée de main autorisée crqMwdAhZnSJ_AVsPKBd
débogage : demande de configuration GET/socket.io/1/websocket/crqMwdAhZnSJ_AVsPKBd
débogage : client autorisé pour
débogage : écriture de socket web1 : :

et idem si iOS se connecte :

débogage : client autorisé
info : poignée de main autorisée lTC9by6zi_2KS25SPKBc
debug : websocket writing2 ::

Comme vous pouvez le voir : sur iOS la ligne

demande de réglage GET/socket.io/1/websocket/crqMwdAhZnSJ_AVsPKBd

est manquant.

-
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48838941.

_Dipl.-Ing. Rainer Schleevoigt_
Intégrateur TYPO3 certifié
Développeur d'applications Titanium certifié

Novalisweg 10

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

le problème vient de la nouvelle version 1.0
ça marche bien avec 0.9...
mais aujourd'hui le socket 1.0 est plus efficace, nous avons donc besoin d'un client 1.0

j'espère que tu auras une solution rapidement

Le 13/07/14 14:37, fadaytak a écrit :

le problème vient de la nouvelle version 1.0
ça marche bien avec 0.9...

j'ai décroché avec

npm install socket. [email protected]

Je pense aussi que 1.0 est mieux…

mais aujourd'hui le socket 1.0 est plus efficace, nous avons donc besoin d'un client 1.0

j'espère que tu auras une solution rapidement

Au cours des deux dernières semaines, je travaille sur le problème, mais je vois une solution.

-
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48839422.

_Dipl.-Ing. Rainer Schleevoigt_
Intégrateur TYPO3 certifié
Développeur d'applications Titanium certifié

Novalisweg 10

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

Pour le titane, ce n'est pas grave. Mais si vous avez également des clients de navigateur, la version 1.0 est logique.

Je ne compte pas sur une solution rapide de ma part. J'ai commencé un nouveau travail cette semaine qui demande beaucoup de vol, donc je n'aurai pas le temps. Peut-être que si j'ai vraiment de la chance et que je trouve une solution rapide.

Rainer, pourriez-vous créer une petite application qui ne fonctionne pas et en faire un dépôt ?

Le 13/07/14 14h45, Hilko Lantinga a écrit :

Pour le titane, c'est important. Mais si vous avez aussi des clients de navigateur alors
1.0 a du sens.

mon plan était de travailler avec des vues natives. Maintenant je pense à une poussée non
Solution.
Mon objectif est une application de vote pour les processus d'éducation.

-
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/Automattic/socket.io/issues/1590#issuecomment-48839570 .

_Dipl.-Ing. Rainer Schleevoigt_
Intégrateur TYPO3 certifié
Développeur d'applications Titanium certifié

Novalisweg 10

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

Toute mise à jour?

Hé les gars, des nouvelles de SocketIo 1.0 sur le titane ? Merci beaucoup d'y avoir travaillé !

J'ai abandonné, en utilisant 0.9.16 pour l'instant.

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

Hé les gars, des nouvelles de SocketIo 1.0 sur le titane ? Merci beaucoup d'y avoir travaillé !

-
Répondez directement à cet e-mail ou consultez-le sur GitHub.

cela semble prometteur, utilisez également browserify

https://github.com/smclab/titaniumifier

mais pour l'instant :

Avec titaniumifier, vous ne pourrez pas utiliser ou dépendre de packages « complexes » et « profondément » comme socket.io ;

…mais…

nous avons travaillé (et travaillons toujours) à fournir une solution pour utiliser chaque package Node.js directement dans votre application

J'utilise socket.io version 0.9.16 et fonctionne bien sur simulateur mais lorsque j'essaye de me connecter sur iPhone 5C iOS 8.1 rien ne se passe =(

Quelqu'un peut vous aider ? Merci

J'essayais de courir sur localhost sur mon iphone... c'est pourquoi rien ne se passe je suppose hahaha
Des nouvelles de la dernière version de socket.io ?
Merci pour votre code @HilkoLantinga

Veuillez regarder la discussion sur omorandi/tiws#9 pour obtenir des mises à jour.

Je suis le mainteneur de titaniumifier chez @smclab , et nous travaillons sur une solution socket.io .

Des nouvelles de cette menace ?
J'ai vraiment besoin de socket.io 1.0 sur titane =/

@yuchi as -tu fait des progrès là-dessus ? Avez-vous du code qui fonctionne partiellement et/ou que vous pouvez partager et peut-être que d'autres peuvent aider/contribuer ?

Un succès ?? Existe-t-il maintenant un client Socket.io pour Titanium ? Mon serveur est sur Socket.io 1.4.5.

Peut-être (idée) que nous recherchons la mise en œuvre de Titanium pubnub. Cela se fait avec du TiJS pur :
https://github.com/pubnub/javascript/blob/master/titanium/lib/platform.js

J'y travaille et j'ai écrit un module. Cela fonctionne jusqu'à présent. Restez à l'écoute.

Merci

@AppWerft À l'heure actuelle, il ne prend en charge que iOS et le processus d'installation est si compliqué. Et de nombreuses fonctions sont laissées de côté, mais fonctionnent.

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();
});

Des nouvelles?

Juste au cas où quelqu'un tomberait dessus, il existe désormais un module officiel : https://github.com/appcelerator-modules/titanium-socketio

Cette page vous a été utile?
0 / 5 - 0 notes