<p>socket.io 1.0 with Titan (appcelerator)</p>

创建于 2014-06-04  ·  42评论  ·  资料来源: socketio/socket.io

是否存在与钛(appcelerator)一起使用的 socket.io 1.0 版本?

或者我们可以在 1.0 服务器上使用 0.96 客户端吗?

亲切地

所有42条评论

socket.io 是 NodeJS 的一个模块。
如果您需要将 SOCKET.IO 添加到您的项目中,则只需:

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

并确保您的服务器运行 socket.io

谢谢,但是当我们使用Webview时这个文件。 我需要一个像这样的钛文件

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

亲切地

我需要的是本机用作库,而不是在 Webview 中

您需要使用 socketrocket 创建本机模块(或使用 net.iamyellow.tiws)并稍微调整 socket.io 客户端,使其使用它,不使用窗口,使用 Ti.Network.createHTTPClient() 和存根 xdomainCheck。 我可能会在下周更新我的 fork (https://github.com/HilkoLantinga/tiws)。

你真的需要socket.io吗? 如果您的所有客户端都支持 websockets,您可以在 node 中使用 ws 并在 Appcelerator Titanium 中使用 net.iamyellow.tiws。 或者,如果您不使用 TLS,也可以通过管道连接到 Titanium 客户端的 tcp 套接字(据我所知,Titanium 不支持带有 TCP 的 TLS,因此您需要另一个本机模块)。

话虽这么说......也许我可以以这样的方式进行调整,使它们可以集成到engine.io-client(也许在需要的时候socket.io-client),所以它在节点、浏览器和Appcelerator Titanium中运行+ net.iamyellow.tiws。 Automattic 可以接受这样的请求吗?

+1

我们正在开发开箱即用的 Titanium 支持。 会通知你们

有关于新版本 1.0 的钛支持的消息吗?

我还在努力,到目前为止还没有运气。 但是有一些我需要先完成的工作,本周末后将进行第三次检查。

有任何更新吗?

无论我做什么都无法连接,尝试了 websockets 和长轮询。 我真的不明白,0.8.x 和 0.9.x 哪里那么容易。

:+1: 我也在 1.0 处于测试阶段时尝试过。
这似乎很难,因为 socket.io 引用了很多外部库,如 engine.io 等。

我在客户端和服务器上都使用 tiws 和 0.9.11 版。 它在android上就像一个魅力,但iphone版本在连接后崩溃。 这里是问答中

使用我的 0.9.16 版本,它在 iOS(5、6 和 7)上完美运行。

你的意思是: https :

您将其与 tiws 一起使用。

好的,我找到了。 谢谢。

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

好的,我可以毫无问题地使用您的 js 文件编译我的应用程序。 但是在运行时它会使应用程序崩溃。
您在服务器上使用什么版本的 socket.io?

0.9.16,我在客户端做这样的事情:

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

服务器是这样的:

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

嗨希尔科,

谢谢,我会尝试嵌入您的代码或将其用作灵感。 现在我
以这种方式开始:

var Cligga = function() {
this.eventhandlers = [];
this.socket =
require('vendor/socket.io.0.9.16').connect('ws://134.100.29.95:1334', {
传输:['websocket'],
'重新连接':真,
“重新连接延迟”:100,
“重新连接限制”:5000,
“最大重新连接尝试”:无限,
});
console.log('Info: socket connected ~ ~' + this.socket);
this.socket.on('connect', function() {
Ti.API.log('已连接!');
});

连接后,在控制台中:

[调试]:加载:
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/controls/cligga.adapter.js,
资源:controls/cligga_adapter_js
[INFO]:的信息:插座连接~~ [对象的对象]
[调试]:加载:
/var/mobile/Applications/E6A8050E-494A-4FB1-9688-C510FEAD936B/Cligga.app/vendor/socket.io.0.9.16.js,
资源:供应商/socket_io_0_9_16_js

我很好奇:

首先是连接状态(来自我的输出)和模块加载......

干杯!

雷纳

在 13/07/14 13:54,Hilko Lantinga 写道:

'重新连接':真,
“重新连接延迟”:100,
“重新连接限制”:5000,
“最大重新连接尝试”:无限,

_Dipl.-Ing。 莱纳·施莱福伊特_
TYPO3 认证集成商
认证钛应用程序开发人员

Novalisweg 10

22303 汉堡
℡ 040 27806982
|Ust-ID:DE239491976|||||||

所以它现在对你有用吗? 如果是这样,那就太好了,享受吧,如果不是,我在您的输出中看不到任何错误。

在 13/07/14 14:14,Hilko Lantinga 写道:

所以它现在对你有用吗? 如果是这样,很好,很享受,如果不是,我看不到
输出中的任何错误。

这就是问题所在,它崩溃了,我看不到任何消息。

在服务器上,我有不同的日志,具体取决于 Android/iOS。 在 iOS 我想念
一条线。

这里是服务器上的 android 请求输出:

调试:客户端授权
信息:握手授权 crqMwdAhZnSJ_AVsPKBd
调试:设置请求 GET/socket.io/1/websocket/crqMwdAhZnSJ_AVsPKBd
调试:客户端授权
调试:websocket 写作1::

如果 iOS 连接也是如此:

调试:客户端授权
信息:握手授权 lTC9by6zi_2KS25SPKBc
调试:websocket 写作2::

如您所见:在 iOS 上,该行

设置请求 GET/socket.io/1/websocket/crqMwdAhZnSJ_AVsPKBd

不见了。


直接回复此邮件或在 GitHub 上查看
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48838941。

_Dipl.-Ing。 莱纳·施莱福伊特_
TYPO3 认证集成商
认证钛应用程序开发人员

Novalisweg 10

22303 汉堡
℡ 040 27806982
|Ust-ID:DE239491976|||||||

问题出在新版本 1.0
它适用于 0.9 ...
但是今天socket 1.0效率更高,所以我们需要一个1.0客户端

我希望你能尽快得到解决方案

在 13/07/14 14:37,fadaytak 写道:

问题出在新版本 1.0
它适用于 0.9 ...

我已经与

npm 安装套接字。 [email protected]

我也认为1.0更好......

但是今天socket 1.0效率更高,所以我们需要一个1.0客户端

我希望你能尽快得到解决方案

在过去的两周里,我正在处理这个问题,但我看到了任何解决方案。


直接回复此邮件或在 GitHub 上查看
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48839422。

_Dipl.-Ing。 莱纳·施莱福伊特_
TYPO3 认证集成商
认证钛应用程序开发人员

Novalisweg 10

22303 汉堡
℡ 040 27806982
|Ust-ID:DE239491976|||||||

对于钛来说,这无关紧要。 但是如果你也有浏览器客户端,那么 1.0 就有意义了。

我不指望我这边有一个快速的解决方案。 本周我开始了一项需要大量飞行的新工作,所以我没有时间。 也许如果我真的很幸运并找到了快速解决方案。

Rainer,你能不能创建一个不能运行的小应用程序并为它做一个回购?

在 13/07/14 14:45,Hilko Lantinga 写道:

对于钛来说,这很重要。 但是如果你也有浏览器客户端
1.0 有道理。

我的计划是使用本地视图。 现在我想推不
解决方案。
我的目标是一个用于教育过程的投票应用程序。


直接回复此邮件或在 GitHub 上查看
https://github.com/Automattic/socket.io/issues/1590#issuecomment -48839570。

_Dipl.-Ing。 莱纳·施莱福伊特_
TYPO3 认证集成商
认证钛应用程序开发人员

Novalisweg 10

22303 汉堡
℡ 040 27806982
|Ust-ID:DE239491976|||||||

任何更新?

嘿,伙计们,关于钛合金 SocketIo 1.0 的任何消息? 非常感谢您的努力!

我已经放弃了,暂时使用 0.9.16。

Op 6 okt。 2014 OM 19:22 heeft NICCO [email protected] HET volgende geschreven:

嘿,伙计们,关于钛合金 SocketIo 1.0 的任何消息? 非常感谢您的努力!


直接回复此邮件或在 GitHub 上查看。

这看起来很有希望,也使用 browserify

https://github.com/smclab/titaniumifier

但截至目前:

使用titanifier,您将无法使用或依赖像socket.io这样的“复杂”和“深层”节点式软件包;

…但…

我们致力于(并且仍在努力)提供一种解决方案,以在您的应用程序中直接使用每个 Node.js 包

我正在使用 socket.io 版本 0.9.16 并且在模拟器上运行良好但是当我尝试在 iPhone 5C iOS 8.1 上连接时没有任何反应 =(

有人可以帮忙吗? 谢谢

我试图在我的 iphone 上的本地主机上运行......这就是为什么我猜没有任何反应哈哈哈
有关于socket.io最新版本的消息吗?
感谢您的代码@HilkoLantinga

请在 omorandi/tiws#9 观看讨论以获取更新。

我是@smclab钛化器维护者,我们正在为socket.io钛化解决方案。

有关于这个威胁的消息吗?
我真的需要钛合金上的socket.io 1.0 =/

@yuchi你在这方面取得了任何进展吗? 您是否有一些可以部分工作和/或可以共享的代码,也许其他人可以提供帮助/贡献?

任何成功? 现在有适用于 Titanium 的 Socket.io 客户端吗? 我的服务器在 Socket.io 1.4.5 上。

也许(想法)我们希望使用 Titanium pubnub 实现。 这是使用纯 TiJS 完成的:
https://github.com/pubnub/javascript/blob/master/titanium/lib/platform.js

我正在研究这个并编写了一个模块。 到目前为止它正在工作。 敬请关注。

谢谢

@AppWerft目前只支持 iOS,安装过程非常复杂。 许多功能未完成,但有效。

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

任何新闻?

以防万一有人偶然发现,现在有一个官方模块: https :

此页面是否有帮助?
0 / 5 - 0 等级