Hlclient.prototype.connect = function () { console.log('begin of connect to wsURL: ' + this.wsURL); var _this = this; try { this.socket["ySocket"] = new WebSocket(this.wsURL); this.socket["ySocket"].onmessage = function (e) { try{ let blob=e.data blob.text().then(data =>{ _this.handlerRequest(data); }) }catch{ console.log("not blob") _this.handlerRequest(blob) } } } catch (e) { console.log("connection failed,reconnect after 10s"); setTimeout(function () { _this.connect() }, 10000) } this.socket["ySocket"].onclose = function () { console.log("connection failed,reconnect after 10s"); setTimeout(function () { _this.connect() }, 10000) } }; Hlclient.prototype.send = function (msg) { this.socket["ySocket"].send(msg) } Hlclient.prototype.regAction = function (func_name, func) { if (typeof func_name !== 'string') { throw new Error("an func_name must be string"); } if (typeof func !== 'function') { throw new Error("must be function"); } console.log("register func_name: " + func_name); this.handlers[func_name] = func; return true } //收到消息后这里处理, Hlclient.prototype.handlerRequest = function (requestJson) { var _this = this; var result=JSON.parse(requestJson); //console.log(result) if (!result['action']) { this.sendResult('','need request param {action}'); return } var action=result["action"] var theHandler = this.handlers[action]; if (!theHandler){ this.sendResult(action,'action not found'); return } try { if (!result["param"]){ theHandler(function (response) { _this.sendResult(action, response); }) }else{ var param=result["param"] try { param=JSON.parse(param) }catch (e){ console.log("") } theHandler(function (response) { _this.sendResult(action, response); },param) } } catch (e) { console.log("error: " + e); _this.sendResult(action+e); } } Hlclient.prototype.sendResult = function (action, e) { this.send(action + atob("aGxeX14") + e); }
var hlc = new Hlclient("ws://127.0.0.1:12080/ws?group=zzz&name=hlg"); hlc.regAction("getenc", function (resolve,param) { var myenc = a.encryptedData(param) resolve(myenc); }),
start_timestamp = time.time() for i in range(100): tp.submit(fetch_response,"http://localhost:12080/go?group=zzz&name=hlg&action=getenc¶m={}".format(i)).add_done_callback(callback_successed) tp.shutdown() end_timestamp = time.time()