<p>socket.io 1.0 com titânio (appcelerator)</p>

Criado em 4 jun. 2014  ·  42Comentários  ·  Fonte: socketio/socket.io

existe uma versão do socket.io 1.0 para usar com titânio (appcelerator)?

ou podemos usar cliente 0.96 com servidor 1.0?

Cordialmente

Todos 42 comentários

socket.io é um módulo para NodeJS.
Se você precisar adicionar SOCKET.IO em seu projeto, apenas coloque:

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

e certifique-se de que seu servidor está executando socket.io

Obrigado, mas este arquivo quando usamos um Webview. O que eu preciso de um arquivo adotado para titânio como este

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

Cordialmente

O que eu preciso é para uso nativo como biblioteca, não no Webview

Você precisa criar um módulo nativo com socketrocket (ou usar net.iamyellow.tiws) e ajustar ligeiramente o cliente socket.io para que ele use isso, não use janela, use Ti.Network.createHTTPClient () e stub xdomainCheck. Posso atualizar meu fork (https://github.com/HilkoLantinga/tiws) na próxima semana.

Você realmente precisa de socket.io? Você poderia usar ws no node e net.iamyellow.tiws no Appcelerator Titanium se todos os seus clientes suportassem websockets. Ou também canalize para um soquete tcp para seus clientes Titanium se você não usar TLS (até onde eu sei Titanium não suporta TLS com TCP, então você precisaria de outro módulo nativo para isso).

Dito isso ... Talvez eu pudesse fazer meus ajustes de forma que eles possam ser integrados no engine.io-client (e talvez quando necessário socket.io-client), para que rode em node, um navegador e Appcelerator Titanium + net.iamyellow.tiws. Uma solicitação pull para algo assim é aceitável para o Automattic?

+1

Estamos trabalhando no suporte imediato do Titanium. Manterá vocês informados

alguma notícia sobre o suporte de titânio para a nova versão 1.0?

Ainda estou tentando, sem sorte até agora. Mas tenho alguns trabalhos que preciso terminar primeiro, terei um 3º look após este fim de semana.

Alguma atualização sobre isso?

Não consigo conectar, não importa o que eu faça, tentei websockets e enquete longa. Eu realmente não entendo, 0.8.xe 0.9.x são tão fáceis.

: +1: Eu também tentei enquanto 1.0 estava em beta.
Parece ser muito difícil porque o socket.io faz referência a muitas bibliotecas externas como engine.io etc.

Estou usando o tiws e a versão 0.9.11 tanto no cliente quanto no servidor. Funciona perfeitamente no Android, mas a versão para iphone trava após a conexão. Aqui está o artigo na seção de

Uso minha versão 0.9.16, que funciona perfeitamente no iOS (5, 6 e 7).

Você quer dizer isso: https://github.com/HilkoLantinga/socket.io-client/blob/master/socket.io.js ? Parece ser uma versão JS pura

Você usa isso com tiws.

OK, eu encontrei. obrigado.

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, posso compilar meu aplicativo com seu arquivo js sem problemas. Mas em tempo de execução, ele trava o aplicativo.
Qual versão do socket.io você usa no servidor?

0.9.16, eu faço algo assim no cliente:

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

Servidor é algo assim:

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

Oi Hilko,

Obrigado, tentarei incorporar seu código ou usá-lo como inspiração. Agora eu
comece desta maneira:

var Cligga = function () {
this.eventhandlers = [];
this.socket =
require ('vendor / socket.io.0.9.16') .connect ('ws: //134.100.29.95: 1334', {
transportes: ['websocket'],
'reconectar': verdadeiro,
'atraso de reconexão': 100,
'limite de reconexão': 5000,
'tentativas máximas de reconexão': Infinity,
});
console.log ('Info: socket conectado ~ ~~' + this.socket);
this.socket.on ('conectar', função () {
Ti.API.log ('conectado!');
});

Depois de conectar, isso é no console:

[DEBUG]: Carregando:
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/controls/cligga.adapter.js,
Recurso: controls / cligga_adapter_js
[INFO]: Info: socket conectado ~ ~~ [objeto Object]
[DEBUG]: Carregando:
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/vendor/socket.io.0.9.16.js,
Recurso: vendor / socket_io_0_9_16_js

Estou me perguntando:

primeiro o status conectado (da minha saída) e o carregamento do módulo ...

Saúde!

Rainer

Em 13/07/14 13:54, Hilko Lantinga escreveu:

'reconectar': verdadeiro,
'atraso de reconexão': 100,
'limite de reconexão': 5000,
'tentativas máximas de reconexão': Infinity,

_Dipl.-Ing. Rainer Schleevoigt_
Integrador certificado TYPO3
Desenvolvedor de aplicativos Titanium certificado

Novalisweg 10

22303 Hamburgo
℡ 040 27806982
| Ust-ID: DE239491976 |||||||

Então funciona para você agora? Se sim, ótimo e aproveite, senão não vejo nenhum erro na sua saída.

Em 13/07/14 14:14, Hilko Lantinga escreveu:

Então funciona para você agora? Se sim, ótimo e aproveite, senão não vejo
qualquer erro em sua saída.

Este é o problema, ele trava e não vejo nenhuma mensagem.

No servidor, tenho logs diferentes dependendo do Android / iOS. No iOS eu sinto falta
uma linha.

Aqui está a saída de solicitação do Android no servidor:

depurar: cliente autorizado
info: handshake autorizado crqMwdAhZnSJ_AVsPKBd
debug: configuração de solicitação GET / socket.io / 1 / websocket / crqMwdAhZnSJ_AVsPKBd
depurar: cliente autorizado para
debug: websocket writing1 ::

e o mesmo se o iOS conectar:

depurar: cliente autorizado
informações: handshake autorizado lTC9by6zi_2KS25SPKBc
debug: websocket writing2 ::

Como você pode ver: no iOS a linha

configuração de solicitação GET / socket.io / 1 / websocket / crqMwdAhZnSJ_AVsPKBd

está desaparecido.

-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48838941.

_Dipl.-Ing. Rainer Schleevoigt_
Integrador certificado TYPO3
Desenvolvedor de aplicativos Titanium certificado

Novalisweg 10

22303 Hamburgo
℡ 040 27806982
| Ust-ID: DE239491976 |||||||

o problema é com a nova versão 1.0
funciona bem com 0,9 ...
mas hoje o soquete 1.0 é mais eficiente, então precisamos de um cliente 1.0

espero que você consiga uma solução rapidamente

Em 13/07/14 14:37, fadaytak escreveu:

o problema é com a nova versão 1.0
funciona bem com 0,9 ...

Eu desmontei com

npm instalar soquete. [email protected]

Também acho que 1.0 é melhor ...

mas hoje o soquete 1.0 é mais eficiente, então precisamos de um cliente 1.0

espero que você consiga uma solução rapidamente

Nas últimas duas semanas estou trabalhando com o problema, mas vejo alguma solução.

-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48839422.

_Dipl.-Ing. Rainer Schleevoigt_
Integrador certificado TYPO3
Desenvolvedor de aplicativos Titanium certificado

Novalisweg 10

22303 Hamburgo
℡ 040 27806982
| Ust-ID: DE239491976 |||||||

Para titânio, não importa. Mas se você também tem clientes de navegador, 1.0 faz sentido.

Não estou contando com uma solução rápida da minha parte. Comecei esta semana em um novo emprego que exige muito vôo, então não terei tempo. Talvez se eu tiver muita sorte e encontrar uma solução rápida.

Rainer, você poderia criar um pequeno aplicativo que não funcione e fazer um repositório para ele?

Em 13/07/14 14:45, Hilko Lantinga escreveu:

Para o titânio, isso importa. Mas se você também tiver clientes de navegador,
1.0 faz sentido.

meu plano era trabalhar com visões nativas. Agora penso em um empurrão, não
solução.
Meu objetivo é um aplicativo de votação para processos de educação.

-
Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48839570.

_Dipl.-Ing. Rainer Schleevoigt_
Integrador certificado TYPO3
Desenvolvedor de aplicativos Titanium certificado

Novalisweg 10

22303 Hamburgo
℡ 040 27806982
| Ust-ID: DE239491976 |||||||

Qualquer atualização?

Ei pessoal, alguma notícia sobre SocketIo 1.0 em titânio? Muito obrigado por trabalhar nisso!

Desisti, usando 0.9.16 por enquanto.

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

Ei pessoal, alguma notícia sobre SocketIo 1.0 em titânio? Muito obrigado por trabalhar nisso!

-
Responda a este e-mail diretamente ou visualize-o no GitHub.

isso parece promissor, também use o browserify

https://github.com/smclab/titaniumifier

mas a partir de agora:

Com o titaniumifier, você não será capaz de usar ou depender de pacotes 'complexos' e 'profundamente' nodosos como socket.io;

…mas…

trabalhamos (e ainda estamos trabalhando) para fornecer uma solução para usar cada pacote Node.js diretamente em seu aplicativo

Estou usando o socket.io versão 0.9.16 e funciona bem no simulador, mas quando tento conectar no iPhone 5C iOS 8.1 nada acontece = (

Alguém pode ajudar? Obrigado

Eu estava tentando rodar no localhost no meu iphone ... é por isso que nada acontece, eu acho hahaha
Alguma notícia sobre a última versão do socket.io?
Obrigado pelo seu código @HilkoLantinga

Por favor, assista à discussão em omorandi / tiws # 9 para obter atualizações.

Eu sou o mantenedor do titaniumifier em @smclab, e estamos trabalhando em uma solução titaniumified para socket.io .

Alguma notícia sobre essa ameaça?
Eu realmente preciso de socket.io 1.0 em titânio = /

@yuchi , você fez algum progresso nisso? Você tem algum código que está funcionando parcialmente e / ou que você pode compartilhar e talvez outros possam ajudar / contribuir?

Algum sucesso ?? Existe cliente Socket.io para Titanium agora? Meu servidor está em Socket.io 1.4.5.

Talvez (ideia) estamos olhando para a implementação do pubnub do Titanium. Isso é feito com TiJS puro:
https://github.com/pubnub/javascript/blob/master/titanium/lib/platform.js

Estou trabalhando nisso e escrevi um módulo. Está funcionando até agora. Fique ligado.

Obrigado

@AppWerft agora suporta apenas iOS e o processo de instalação é muito complicado. E muitas funções ficam por fazer, mas funciona.

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

Qualquer notícia?

Para o caso de alguém se deparar com isso, já existe um módulo oficial: https://github.com/appcelerator-modules/titanium-socketio

Esta página foi útil?
0 / 5 - 0 avaliações