如何将信息从Web服务器发送到Electron应用程序?

时间:2016-05-02 21:35:21

标签: javascript node.js electron

我正在构建一个电子,当某个表格在通过oAuth2连接的某个服务中填写时,该电子将会以“通知”方式提供“通知”。

然而,我遇到了麻烦,找到了(我认为)需要发生的过程的任何信息。

我在想......

用户从此网络服务提交表单A

该网络服务CAN(不确定这是否可行)向我的服务器发送HTTP帖子

然后我想我的服务器可以将该信息发送到电子应用程序。我调查了'https://www.npmjs.com/package/electron-workers',但我还不清楚这是否有助于解决我的问题。

非常感谢任何帮助,甚至是正确方向的推动!

2 个答案:

答案 0 :(得分:2)

你有多种方法可以做到这一点,但这只能通过Electron的渲染器过程(基本上是你的前端)完成,

使用Web套接字进行实时应用

Web套接字是一种支持服务器和客户端之间实时通信的技术。最着名的是socket.io。您也可以查看Web Sockets API

设置向服务器发出Ajax请求的时间间隔

var checkNotifications = function() {

    var r = new XMLHttpRequest();

    r.open("POST", "url/of/your/notifications", true);

    r.onreadystatechange = function () {
        if (r.readyState != 4 || r.status != 200) return;
            alert("Success: " + r.responseText);
        };

    r.send();
}


setInterval(checkNotifications, 5000); // every 5 seconds

答案 1 :(得分:0)

Electron正在运行本地节点http服务器,但它不是公共地址。 Max Ogden已经提到 - 我认为在电子状态" youtube talk - 安装"无头"公共网络服务器上的电子应用程序做一些服务相关的东西,但基本上你必须有一个可达的地址。您是否希望桌面Web服务器具有公共URL?