V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
a251922581
V2EX  ›  Node.js

请教一般 ajax 调用改写为 ipc 调用怎么处理比较好? Electron 环境,因为搭本地 ajax 服务器端的话要开放防火墙

  •  
  •   a251922581 · Nov 1, 2017 · 4217 views
    This topic created in 3100 days ago, the information mentioned may be changed or developed.
    Electron 环境,Main 进程和 Renderer 进程要交互,一些用到的网页 js 库都喜欢用 ajax 调用,得到返回数据继续处理,但是搭建 Main 进程的 server 端需要监听端口,要防火墙放行,考虑到这样会挡住一部分用户增加了维护了,所以想用 IPC,ipc 的话不会跳出防火墙提示。
    但是 ipc 的话是 send 过去就不会等待返回结果了,ajax 是接受返回结果的,那么原来用 ajax 写的逻辑,就要改写为支持 ipc 这种模式的,请教这个如何做?先谢过
    4 replies    2017-12-23 13:22:37 +08:00
    anmaz
        1
    anmaz  
       Nov 1, 2017 via Android
    这个 ipc 不是支持监听等待么,
    a251922581
        2
    a251922581  
    OP
       Nov 1, 2017
    @anmaz 是 SyncIPC 吗? 官网文档同步 IPC 会阻塞进程的吧?
    ithrows
        3
    ithrows  
       Nov 1, 2017
    ipc 有异步的方法,监听事件就行了
    sodawy
        4
    sodawy  
       Dec 23, 2017
    本地环境的 ipc 性能应该会 http 好不少吧,libuv 还会帮你屏蔽 os 差异。

    node 的 ipc send 方法,确实没有回传机制。

    建议楼主,在进程间 send 上自己再包装一层,两边进程都会 send,都要 on('message'),然后可以给每个消息加上 id,标明类型。然后就是对 message 的打包和拆包。这样实现完了中间层,起始业务代码,改动并不大。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3601 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:15 · PVG 19:15 · LAX 04:15 · JFK 07:15
    ♥ Do have faith in what you're doing.