新手:Javascript,Jquery类和对象

时间:2017-02-04 10:36:47

标签: javascript websocket

我对javascript中的机制和层次结构感到困惑,只读了几个链接和页面。

various ways to create objects in Javascript。我感到困惑的是:

我有3个websocket说WSServiceA,WSServiceB,WSServiceC:这是3个不同的套接字并提供不同的数据,但数据结构相同。使用一个简单的函数我正在更新网页中的3个表。

每个都有onopen,onclose和onmessage功能,所以我简单地复制了相同的代码3次,如下所示:

WSServiceA.onmessage(){}
WSServiceB.onmessage(){}
WSServiceC.onmessage(){}

如果我创建这样的东西:

function CreateService(Service, WSAddress){
      this.service=Service;
      this.WSAddress = WSAddress;
      this.websocket = new WebSocket(this.WSAddres);
      this.onopen = function(event){ Send some message }
      this.onmessage = function(event){ Update Table A}
    }

之后我会创建

ServiceA = CreateService("A", "ws://192.168.100.1.1:10001");
ServiceB = CreateService("B", "ws://192.168.100.1.2:10001");
ServiceC = CreateService("C", "ws://192.168.100.1.3:10001");

当数据进入这些套接字时,如何以及谁将调用ServiceA.onopen,Service.onmessage和其他函数?它会被调用吗?在函数内部创建的东西应该只在该函数中可见 - 我无法理解流和链接。可能我错过了一些关键概念,否则这应该不起作用。

1 个答案:

答案 0 :(得分:0)

背景

ECMAScript是一种语言和javascript,它是特定主机ECMAScript实现的通用名称(注意JavaScript™是Oracle Corporation的商标)。

ECMAScript本身很少,它甚至没有输入或输出机制,它必须由主机提供。关于WebSockets,如果主机支持它们,那么它将实现WebSockets API

当您通过new WebSocket(...)创建WebSocket时,主机会返回实现该接口的主机对象。该对象将具有响应其环境(连接,打开,关闭,关闭)而更改的状态,并且当某些事情发生时它将调度事件。

当套接字成功连接到服务器时,它将在套接字上调度 open 事件,这样如果有一个 onopen 监听器,它将响应通过 open 处理程序调用该事件。还有错误关闭的事件,这些事件与 on * 处理程序相关联。

答案

  

然后将如何以及谁将致电ServiceA.onopen,Service.onmessage和   其他功能 - 当数据进入这些套接字时?

实现该接口的主机环境可以完成所有这些工作。