将peerjs与Adobe InDesign一起使用
Using peerjs with Adobe InDesign
>Hy,
我正在创建自己的 InDesign 插件,我需要连接到我创建的另一个 Web 应用程序。我尝试使用 socket.io,但我不想有另一台服务器,所以我已经传递给了 Peer JS,这样我有一个可以完美运行的点对点系统,但我遇到了一些意想不到的问题。
我正在使用使用CEP5的Adobe InDesign CC,它支持Google chrome BROWSER(CEF(Chromium扩展框架))。
在文档中,据说CEP5甚至支持WebRTC,但是当我尝试将peerjs(使用WebRTC)连接到另一个对等体时,我得到:"TypeError:undefined不是一个函数",在进一步调查中,我发现错误是由Object.Negotiator._startPeerConnection抛出的,但我无法理解我错了什么...
我尝试在另一个应用程序(只是一个普通的网站)中使用相同的PEER JS代码并连接到同一个对等体并成功,所以我猜测问题出在InDesign提供的WebRTC支持中。
我不仅限于使用 PEER JS,我只是希望我的 adobe 插件和我的网站以最智能的方式进行通信,所以欢迎任何想法,但这是我的插件的代码段,我尝试连接到 PEERJS
var peer = new Peer({key: mySecretKey});
var conn = peer.connect('editor-vaComeVibraEEE');//the exception is generated here
conn.on('open', function(){
conn.send('hi!');
});
谢谢你的帮助。
嗯,我找到的唯一解决方案是放弃peerJS并迁移到Faye,这是一个基于Bayeux协议的发布-订阅消息传递系统。我认为这是一个很好的解决方案,并且易于实施。这是我的服务器代码
var http = require('http'),
faye = require('faye');
var server = http.createServer();
bayeux = new faye.NodeAdapter({mount: '/'});
bayeux.attach(server);
server.listen(8000);
bayeux.getClient().publish('/inDesign', {
text: val
});
在客户端,我收到如下消息:
var client = new Faye.Client('http://localhost:8000/');
client.subscribe('/inDesign', function(message) {
alert('Got a message: ' + message.text);
});
服务器可以从客户端接收消息,客户端可以非常简单地将消息写入服务器。
希望这将在未来对某人有所帮助。
- 转义符不能与innerHTML一起使用
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何将js库与typescript一起使用
- 将webpack和babel与父项目目录中的文件一起使用
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 将两个ext.TabPanels滚动到一起
- 将jQuery UI Timepicker Addon与React一起使用
- 什么是curl以及如何将其与nodejs一起使用
- Javascript”;onmousemove”;事件无法与类一起使用
- 将require('..')与变量一起使用与在webpack中使用字符串相比
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- 为什么不't我的ruby代码与javascript文件一起插入
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- 如何将eventListeners与Angularjs+Electron一起使用
- 将peerjs与Adobe InDesign一起使用