首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lightstreamer新手:我应该如何解释这个web请求?

Lightstreamer新手:我应该如何解释这个web请求?
EN

Stack Overflow用户
提问于 2021-02-28 18:12:35
回答 1查看 59关注 0票数 0

我在试着理解为什么Lightstreamer会在第一时间发送这个消息(我期待的是json或类似的东西,但它看起来像是javascript)

请求

The The The

响应

看起来像是一种Javascript。LS

_

window.LS

_

例如,E函数是Lightstreamer原生的?

代码语言:javascript
复制
HTTP/1.1 200 OK
server: Lightstreamer-Server/7.1.1
content-type: text/javascript; charset=ISO-8859-1
cache-control: no-store
cache-control: no-transform
cache-control: no-cache
pragma: no-cache
access-control-allow-credentials: true
x-accel-buffering: no

var myEnv = lsc;
var phase = null;
function setPhase(ph) {
 phase = ph;
}

function start(sID, addr, kaMs, reqLim, srv, ip) {
 LS_window.LS_e(1, phase, sID, addr, kaMs, reqLim, srv, ip);
}

function loop(holdMs) {
 LS_window.LS_e(2, phase, holdMs);
}
setPhase(2501);start('*****', null, 0, 150000, 'HTTP Server', '*****');loop(0);

以下交换的数据是Lighstreamer原生的,还是特定于我正在监控的应用程序?

代码语言:javascript
复制
bind_session
LS_session=*****&LS_phase=2503&LS_cause=loop1&LS_keepalive_millis=5000&LS_container=lsc&

代码语言:javascript
复制
var myEnv = lsc;
var phase = null;
function setPhase(ph) {
 phase = ph;
}

var winPhase = {};
function setWin(tbl, ph) {
 winPhase[tbl] = ph;
}

var clsd = false;
function c(cod, ph, tbl, its, flds, key, com) {
 LS_window.LS_w(cod, ph, tbl, its, flds, key, com);
}

function error(cod, ph, tbl, msg) {
 if (tbl != null) {
  LS_window.LS_l(cod, ph, tbl, msg);
 } else {
  LS_window.LS_l(cod, phase, null, msg);
 }
}

function start(sID, addr, kaMs, reqLim, srv, ip) {
 LS_window.LS_e(1, phase, sID, addr, kaMs, reqLim, srv, ip);
}

function end(cause) {
 LS_window.LS_e(4, phase, cause);
}

function loop(holdMs) {
 LS_window.LS_e(2, phase, holdMs);
}

function retry() {
 LS_window.LS_e(3, phase);
}

function s0() {}

function bw(maxBW) {
 LS_window.LS_e(5, phase, maxBW);
}

function y(secs) {
 LS_window.LS_s(phase, secs);
}

var unchangedSignal = {};
unchangedSignal.length = -1;
function convert(b, f) {
  var a, c, d = f, e = [];
  for(a = 0;a < b.length;a++) {
    if(a < f) {
      e[a] = b[a]
    } else {
      if(b[a].charAt) {
        b[a] == '$' ? e[d] = '' : b[a] == '#' ? e[d] = null : (c = b[a].charAt(0), e[d] = c == '$' || c == '#' ? b[a].substring(1) : b[a]), d++
      } else {
        for(c = 0;c < b[a];c++) {
          e[d] = unchangedSignal, d++
        }
      }
    }
  }
  return e;
}
function d(tbl) {
 try { LS_window.LS_u(winPhase[tbl], convert(arguments || d.arguments, 2)); } catch(exc) {}
}
function z(tbl) {
 LS_window.LS_v(winPhase[tbl], convert(arguments || z.arguments, 2));
}
function n(tbl) {
 LS_window.LS_n(winPhase[tbl], arguments || n.arguments);
}
function s(tbl) {
 LS_window.LS_s(winPhase[tbl], arguments || s.arguments);
}
function r(tbl) {
 LS_window.LS_o(winPhase[tbl], arguments || r.arguments);
}
function p() {
 LS_window.LS_u(phase, arguments || p.arguments);
}
myEnv.setPhase = setPhase;
myEnv.setWin = setWin;
myEnv.c = c;
myEnv.error = error;
myEnv.end = end;
myEnv.start = start;
myEnv.loop = loop;
myEnv.retry = retry;
myEnv.s0 = s0;
myEnv.bw = bw;
myEnv.y = y;
myEnv.convert = convert;
myEnv.d = d;
myEnv.z = z;
myEnv.n = n;
myEnv.s = s;
myEnv.r = r;
myEnv.p = p;
myEnv.LS_window = LS_window;

// END OF HEADER

setPhase(2503);
start('*******', null, 10000, 150000);

代码语言:javascript
复制
bw(0.0);

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-01 16:44:01

您看到的交换是Lightstreamer协议,只有某些值由应用程序确定。

该协议基于javascript,并由旧的客户端库使用;例如,LS

_

E函数由客户端库提供。

有几种协议可供客户端使用;其中一种是基于纯文本的TLCP,它是公开的和有文档记录的

这里

..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66407912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档