是否存在与钛(appcelerator)一起使用的 socket.io 1.0 版本?
或者我们可以在 1.0 服务器上使用 0.96 客户端吗?
亲切地
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 中
您需要使用 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 :