【问题标题】:Remote objects using web sockets使用 Web 套接字的远程对象
【发布时间】:2020-09-26 08:22:07
【问题描述】:

是否有允许我通过网络套接字调用远程对象的库?

我的目标是能够像使用任何其他对象一样使用对象(在其上设置/获取属性,调用方法),但该对象实际上是 Web 套接字上的代理,其中实际实例位于服务器上:

const obj = new MyObject();
console.log(obj.prop);
obj.prop = 1;
obj.do();

要明白我的意思,我想这样的库会使用 ES6 代理。

【问题讨论】:

  • 您需要这样做的原因是什么?即使使用WebSockets,这仍然需要网络调用,因此您展示的示例不会这样。当然您可以使用Proxy 进行网络调用,但不要指望它能够工作,因为它是同步的。
  • @goto1 你可能是对的,也许我想多了。另一方面,最好有一个库,它可以为您“代理”对象并实现所有远程调用
  • 所以你是对的,像 getter 这样的同步调用是行不通的。但我觉得我的要求仍然可以工作,即使它需要方法是异步的
  • 您可以为 [[Get]][[Set]] (以及其他一些陷阱)实现异步功能,但有些地方您不能进行异步调用,因为它会违反 Proxies'不变量...

标签: javascript ecmascript-6 websocket es6-proxy


【解决方案1】:

当您需要低延迟连接和多个双向连接(意味着客户端可以向服务器发送数据,服务器可以多次向客户端发送数据)时,websockets 非常有用。

当您需要获取和反对时,为什么需要使用 websockets?不需要低延迟(除非对象很大),并且连接是一次性的(意思是:客户端请求一个对象,服务器发送它,就是这样)。

【讨论】:

    猜你喜欢
    • 2016-08-20
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多