【问题标题】:Using peerjs with Adobe InDesign在 Adob​​e InDesign 中使用 peerjs
【发布时间】:2015-01-21 10:03:09
【问题描述】:

喂,

我正在创建自己的 InDesign 插件,我需要连接到我创建的另一个 Web 应用程序。我尝试使用socket.io,但我不想拥有另一台服务器,所以我已经传递给Peer JS,这样我就有了一个可以完美运行的点对点系统,但是我遇到了一些意想不到的问题。

我正在使用 Adob​​e InDesign CC,它使用 CEP5,它支持 google chrome 浏览器(CEF(Chromium 扩展框架))。

在文档中,据说 CEP5 甚至支持 WebRTC,但是当我尝试将 peerjs(使用 WebRTC)连接到另一个对等点时,我得到一个:“TypeError: undefined is not a function”,在进一步调查中我发现错误是由 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!');
});

谢谢你的帮助...... . .

【问题讨论】:

  • 你能验证 navigator.webkitGetUserMedia 和 webkitRTCPeerConnection 存在吗?您还可以共享 peerjs 日志吗?还是完整的堆栈跟踪?
  • 好的,如果我在我的 InDesign 插件中执行 alert(typeof navigator.webkitGetUserMedia),我会得到未定义,如果我在 Chrome 上的测试应用程序中执行此操作,我会得到一个函数对象。
  • 你能对 navigator.getUserMedia 做同样的事情吗?如果它也未定义,则没有 WebRTC 支持。也许应该通过打开一些 InDesign 标志来显式启用它?
  • 我在那里不确定,我会检查是否必须启用 WebRTC 支持....
  • 您应该在 ExtensionBuilder 论坛中解决您的问题forums.adobe.com/community/creativesuites/extensionbuilder 这是讨论扩展开发的 adobe 地方。

标签: javascript webrtc adobe-indesign peerjs


【解决方案1】:

嗯, 我找到的唯一解决方案是放弃 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);
});

服务器可以接收来自客户端的消息,客户端可以非常简单的方式将消息写入服务器。

希望这对将来的某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2010-12-03
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    相关资源
    最近更新 更多