gpt4 book ai didi

javascript - 在 Adob​​e InDesign 中使用 peerjs

转载 作者:行者123 更新时间:2023-11-30 17:05:49 25 4
gpt4 key购买 nike

你好,

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

我正在使用 Adob​​e InDesign CC,它使用 CEP5,它支持 google chrome BROWSER (CEF (Chromium extended framework))。

在文档中据说 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!');
});

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

最佳答案

嗯,我找到的唯一解决方案是放弃 peerJS 并迁移到 faye ,这是一个基于 Bayeux 协议(protocol)的发布-订阅消息系统。我认为这是一个很好的解决方案,而且易于实现。这是我的服务器代码

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

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

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

关于javascript - 在 Adob​​e InDesign 中使用 peerjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28064331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com