Articles of lua

将NodeMCU Lua套接字客户端连接到node.js socket.io服务器

我想连接一个NodeMCU Lua套接字客户端到node.js socket.io服务器。 NodeMCU Lua代码: sk = net.createConnection(net.TCP, 0) sk:on("receive", function ( sck,c ) print (c) end) sk:on("connection", function ( sck,c ) print("Connected") sk:send("Helloooo…") end) sk:connect(12346,"192.168.1.100") Node.js服务器代码: var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); io.on('connection', function(socket){ console.log('someone is connected'); }); server.listen(12346); 问题: Lua客户端的on连接事件被触发并打印“Connected”,但是node.js socket.io服务器中的on连接事件未被触发。 我尝试了一个Python套接字服务器的Lua客户端,它工作得很好! 而且我还尝试了一个使用Javascript套接字客户端的node.js套接字服务器,它运行良好! […]

简单的Node.js疑难解答 – 从app.get()接收404

我正在尝试部署一个node.js Heroku应用程序,该应用程序侦听请求并简单地将编码的stringlogging到控制台。 注意:我仅限于从JSON中导出我的程序中的数据,这就是为什么我要使用req.body 。 JavaScript的 const express = require('express') const app = express() app.get('/um', function (req, res) { console.log(req.body[message]); }) app.listen(process.env.PORT || 3000, function () { console.log('App listening!') }) LUA local httpService = game:GetService('HttpService') httpService:PostAsync("http://auto-attica.herokuapp.com/um", { "message" = "foo" }) 而不是logging文本到控制台。 我在运行Lua的程序和Heroku控制台上都收到错误404。 2017-10-30T00:10:04.826245+00:00 heroku[router]: at=info method=POST path="/um" host=auto-attica.heroku-f35fbe137630 fwd="95.148.67.104" dyno=web.1 connect=1ms service=5ms status=404 bytes=386 protocol=http […]

从另一个lua脚本加载lua脚本

我为我的node.js项目写了一些lua脚本。 但我的一些lua脚本里面有相同的代码。 让我先解释一下。 我的第一个脚本返回来自redis的给定密钥的所有数据。 script1.lua local data = {}; local keyslist = redis.call('keys', 'day:*'); local key, redisData; for iCtr = 1, #keyslist do key = string.gsub(keyslist[iCtr], 'day:',''); redisData = redis.call('hmget', keyslist[iCtr], 'users'); table.insert(data, {date=key, users=redisData[1]}); end return cjson.encode(data); 我的第二个脚本返回来自redis的相同密钥的前2个logging。 script2.lua local data = {}; local keyslist = redis.call('keys', 'day:*'); local key, redisData; for iCtr = […]

错误:ERR值不是来自LUA脚本中的redis.call('zcard','myzset')的整数或超出范围

我有一个lua脚本中的代码,我从node.js运行。 local stats = {}; stats['orders'] = redis.call('zcard','jobs'); return cjson.encode(stats) 这将返回错误: Error: ERR value is not an integer or out of range 但是,当我从CLI运行zcard作业时,会返回一个整数。 任何帮助,将不胜感激。

Lua是一种基于事件的编程语言吗?

是基于Lua事件还是线程? 最近我对Node.js有很多的了解,看来最大的卖点之一就是基于事件的,而不是基于线程的。 什么是Lua?

nodejs和socket.io与lua服务器开发

需要一些关于使用lua编写代码和nodejs&socket.io构build服务器的build议。 我听说lua更快,所以我想在lua写服务器。 和socket.io的websockets。 在我的基本思想中,luvit,nodelua等是nodejs的lua模块。 现在我需要知道哪个模块最适合用lua,nodejs和socket.io构build服务器? 记得我会用mongodb来存储数据。 build议我一个合适的模块! 提前致谢。

分页与Aerospike Nodejs客户端

我有服务器安装与nodejs和Aerospike。 我想实现列出所有在aerospike数据库上的数据的分页。 Aerospike似乎并不支持像limit , orderBy或skip sql查询参数。 使用LList部分解决了这个问题,因为数据默认按键sorting。 也可以使用Aerospike Lua List,我们可以部分实现UDF来使用list.take(number of elements from start) 。 然而,随着时间的推移集合将会变得非常大,OrderBy和Skip变得非常重要,不能通过UDF过滤来有效地实现。 任何build议如何处理这个?

如何连接我的移动应用程序(用lua写的)和我的服务器(用node.js写的)?

我是lua和node js的新手,我试图将我正在使用的移动应用连接到服务器。 问题是它连接到服务器,但我想传递的数据会丢失或不能到达服务器。 对我在做什么有什么不妥的想法? 这是我连接到服务器的lua代码 local function store () local headers = {} headers["Content-Type"] = "application/x-www-form-urlencoded" headers["Accept-Language"] = "en-US" local body = "fname="..fname local params = {} params.headers = headers params.body = body print(body) print(headers) print(params.body) print(params.headers) network.request( "http://192.168.56.2:8888", "POST", networkListener, params ) end local function networkListener( event ) if ( event.isError ) then print( […]

在node.js应用程序和lua应用程序之间共享数据

我有两个应用程序,node-webkit上运行的node.js应用程序和lua应用程序。 我需要在两个应用程序之间按常规间隔传递数据,例如每5到15秒。 node.js应用程序是创build数据的应用程序,而lua应用程序则是消费数据的应用程序。 数据只能走向一个方向。 我应该怎么做数据传输? 我更喜欢json / xml的数据,但实际上它也可以是任何其他格式。 一次移动的数据并不大。 它一次只有十个参数。 我最初的想法是让节点应用程序充当服务器,并通过其余的API来提供数据,并且lua应用程序只是使用LuaSocket或者其他类来读取页面。 但是,如果两个应用程序驻留在同一台机器上,是否有更好的方法来进行传输? 目前lua应用程序正在Windows中运行,但可能会改变。 我的背景是在web开发中,所以在应用程序之间共享数据时我完全失去了。 我也是新来的卢阿。 感谢您的任何答案。

在Lua虚拟机上运行JavaScript有意义吗?

Lua很小,可以很容易地embedded。 目前的JavaScript虚拟机非常庞大,难以集成到现有的应用程序中。 所以不可能编译JavaScript到Lua或Lua字节码? 特别是对于移动应用程序的限制,这似乎是一个很好的select。 能够轻松地将最stream行的脚本语言集成到任何iPhone或Android应用程序将是伟大的。 我对Lua不是很熟悉,所以我不知道这在技术上是否可行。 有了Luvit,有一个活跃的项目试图将Node.js架构移植到Lua。 所以,平静的JavaScript世界离Lua的可能性还有很远的距离。