RAW CALLBACK ERROR:
{Attempt to}:concatenate
{Type}:buffe
RAW CALLBACK ERROR:
文件:...5.69.2\aardio_v35.69.2\lib\win\ui\_.aardio
错误行号:#280
不支持此操作:concatenate
类型:buffer
---------------------------------------------------
调用栈:
[kernel]: in function 'error'
...69.2\lib\win\ui\ctrl\metaProperty\_.aardio:303: in function 'wndproc__'
...5.69.2\aardio_v35.69.2\lib\win\ui\_.aardio:280: in function <...5.69.2\aardio_v35.69.2\lib\win\ui\_.aardio:278>
[kernel]: in function 'messageTranslateDispatch'
..._v35.69.2\aardio_v35.69.2\lib\win\_.aardio:557: in function 'parseMessage'
..._v35.69.2\aardio_v35.69.2\lib\win\_.aardio:593: in function 'loopMessage'
[string "import win.ui;..."]:69: in main chunk
const arg = `x`.repeat(9e5)
const res = await ws.call(
`run`,
[
`
console.log(1)
return ...
`,
arg
],
)
console.log(111, res)
import win.ui;
var winform = win.form(text="ws/JSON-RPC 服务端与Node.js交互的例子")
winform.add(
txtMessage={cls="edit"}
)
import web.socket.server;
var wsrv = web.socket.server();
import web.socket.jsonServer;
var rpcServer = web.socket.jsonServer(wsrv);
wsrv.onUpgradeToWebsocket = function(hSocket,request,response,protocol,origin){
return rpcServer.start(hSocket);
}
rpcServer.external = {
run = function(code, ... ) {
var arg = ...
var res = null
var err = false
try {
res = loadcode(code)(arg)
}
catch (e) {
err = tostring(e);
}
return {
err;
res;
}
}
}
wsrv.start("0.0.0.0", "9988");
wsUrl = wsrv.getUrl()
import console
console.log(wsUrl)
import nodeJs;
nodeJs.startEnviron(
wsUrl = wsUrl;
)
var js = /***
var startEnviron = require('startEnviron');
var WebSocket = require('rpc-websockets').Client;
var ws = new WebSocket(startEnviron.wsUrl)
ws.on('open', function() {
ws.call('run', [`
import console
arg = ...
console.log("aar", #arg)
return arg
`, 'x'.repeat(9e6)]).then(result=> {
console.log("node", result[1].length)
})
})
***/
nodeJs.prequireByJs(winform.txtMessage,js);
var node = nodeJs.execLimit(js);
node.logResponse(winform.txtMessage);
winform.show();
win.loopMessage();