草庐IT

lua_tonumber

全部标签

lua实现http的异步回调

想用lua实现与http服务器的通信,请求一些数据会回来,默认lua.socket.http是同步的,所以想弄一个异步的方式测试环境lua5.1同步以下是同步的代码,其中http.request会被阻塞住的localfunctionsend_request()localres,code,response_headers=http.request("http://www.lua.org/","POST","name=Lua&age=100",{["Content-Type"]="application/x-www-form-urlencoded"})print("code=",code)ends

tcp - 如何使用 openresty lua 中的第一个字节内容将 tcp 请求分派(dispatch)到后端

我已经启动了一个带有一个tcp服务器和两个后端的openresty。tcp服务器根据来自tcp流的内容将请求分派(dispatch)给后端。以下是openresty配置示例:stream{#defineaTCPserverlisteningontheport1234:upstreambackend1{server172.17.0.1:8081;}upstreambackend2{server172.17.0.1:8082;}server{listen1234;content_by_lua_block{localsock=ngx.req.socket(true)--reveivefirs

java - 跨 TCP 套接字与 ObjectInputStream、Java 和 Lua 客户端联网

我有一个Java服务器,它将有两种不同类型的客户端,一个是基于Java的控制台,一个是服务器将控制的基于Lua的客户端。我让Lua客户端来回交谈out=newPrintWriter(socket.getOutputStream(),true);in=newBufferedReader(newInputStreamReader(socket.getInputStream()));我现在正在尝试连接一个基于Java的客户端,我想使用out=newObjectOutputStream(newBufferedOutputStream(socket.getOutputStream()));in=

sockets - 从没有数据大小的lua tcp套接字接收数据

我一直在使用到游戏服务器的套接字tcp连接。这里最大的问题是游戏服务器发送数据时没有任何分隔符——因为它发送的数据包长度在数据内——这使得无法使用socket:receive("*a")或"*l"。从服务器接收到的数据没有静态大小,并以十六进制格式发送。我正在使用这个解决方案:whiletruedolocalrect,r,st=socket.select({_S.sockets.main,_S.sockets.bulle},nil,0.2)fori,coninipairs(rect)doresp,err,part=con:receive(1)ifresp~=nilthendataRec

sockets - 运行时 addeventlistener 使用 Corona 减慢 Lua 中的应用程序显示

根据下面的代码,如何在不中断应用程序显示部分的情况下运行运行时监听器?目前,当我使用运行时监听器时,显示速度变慢了。仅供引用,我是Lua/Corona的新手,也是stackoverflow的新手。functionscene:createScene(event)group2=scrollView.new{top=topBoundary,bottom=bottomBoundary}myImage=display.newImage("imgbg1.png")myImage.isVisible=truegroup2:insert(myImage)localyval=120socket,err=

tcp - lua创建TCP客户端报错

我正在尝试在lua中创建TCP客户端localhost,port=HOST,PORTlocalsocket=require("socket")client=socket.tcp();client:connect(host,port);client:send("HelloUser");这工作正常但是当我添加whiletruedolocals,status,partial=client:receive()print(sorpartial)ifstatus=="closed"thenbreakendend要从套接字读取数据,它会阻止代码的全部执行。 最佳答案

sockets - 如何在 Corona SDK Lua 中运行阻塞操作?

我是LUA的新手,我正在使用CoronaSDK在LUA中编写一个tcp消息传递库。我遇到了一个问题,即使它在协程中运行,套接字读取操作也会挂起应用程序UI。我如何启动协程:functionMessaging:readLoop()self.readCoroutine=coroutine.create(function()self:blockingLoop()end)coroutine.resume(self.readCoroutine)end阻塞循环:functionMessaging:blockingLoop()line,err,rest=self.sock:receive(BUFSI

tcp - 如何在 LUA 解析器中重新组装 TCP 数据包?

我有一个在TCP协议(protocol)之上运行的解析器,并且有在多个TCP数据包上流动的数据。我想在转换所有内容之前组装数据,所以我知道我需要tcp_dissect_pdus(),但我找不到它的文档或示例。任何人都可以指导我使用它或帮助我了解如何使用它吗? 最佳答案 tcp_dissect_pdus没有wsluaAPI。但您可以自己实现。如果你想组装跨越两个或更多数据包的pdu,这很简单:functionslicer.dissector(tvb,pinfo,tree)...localpdu_length=get_pdu_lengt

lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】

一、lua变量【全局变量和局部变量和表中的域】Lua变量有三种类型:全局变量和局部变量和表中的域。▪全局变量:默认情况下,Lua中所有的变量都是全局变量。▪局部变量:使用local显式声明在函数内的变量,以及函数的参数,都是局部变量。在函数外即使用local去声明,它的作用域也是当前的整个文件,这相当于一个全局变量。▪表中的域:变量的默认值均为nil。☺Lua语言不区分未初始化变量和被赋值为nil的变量,因此全局变量无须声明即可使用。1、全局变量全局变量,不需要声明,只需要将一个值赋予一个全局变量即可创建了。b=10 --这个b就是一个全局变量了print(b)通常没必要删除一个全局变量,如果

单片机中移植lua解释器

一、基本开发环境开发环境基于野火STM32开发板。前测试的Lua解释器版本为5.4.2。官网下载lua资源包,下载地址如下:https://www.lua.org/https://github.com/rjpcomputing/luaforwindows/releaseslua:Lua国内镜像(gitee.com)‍二、移植Lua解释器1.下载的Lua解压,删除源文件中的的lua.c和luac.c(如果有的话)文件。2.新建stm32工程3.工程添加Lua源码将Lua源文件拷贝到工程添加头文件更改loslib.c文件下部分内容 将os_exit(lua_State*L)函数中if(L)exit