题注最近我在学习nginx的lua插件,发现结合nginx的异步io和lua的流程控制能力,还是有很丰富的想象空间的:几乎所有常见的http请求的处理逻辑都能搞定,诸如查查数据库,访问一下memcache,读写一下本地文件等,都不在话下。恰好我正在研究一个第三方http服务的调用api,就产生了将其移植到lua上的想法。其中涉及到了构造https请求的需求。我先采用ngx.socket.tcp()
转载 2024-05-11 17:07:50
90阅读
--经过数天的查阅网上的资料(资料各种坑啊,一系列问题!),终于让他在linux-mint17 cinnamon工作了网络上的资料问题:getting "llua_do_call: funcction conky_clock_rings execution failed: attempt to call a nil value"这个问题是普遍出现, 很多指向的是lua文件的value是了nil值解
转载 2024-06-14 15:14:03
71阅读
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行数据压测演练,提供数据库优化方面专业建议,在业务高峰期与用户共同保障数据库系统平
Lua的面向对象 Lua语言本身并没有提供面向对象的语法机制,这需要我们自己设计实现一套类的机制。首先,对于面向对象来说,我们至少需要类和对象这两个概念。同时,类至少包含一个用于构造对象的方法。对应到Lua上,就是一个代表类的table,它有一个构造函数,返回代表该类对象的table:Class = {} function Class:New() local o = {} ret
--lua代码local http = require "socket.http"local ltn12 = require("ltn12")request_body = 'u=1&parameter={"m":"S"}'local result = http.request{    url = "http://127.0.0.1/2.php", &
原创 2014-08-21 15:32:49
8737阅读
这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数、写一个模块、package.loaded、module函数等内容.模块就是一个程序库,可以通过require来加载。然后便得到了一个全局变量,表示一个table。这个table就像是一个命名空间,其内容就是模块中导出的所有东西,比如函数和常量,一个符合规范的模块还应使require返回这个ta
转载 10月前
25阅读
Http协议支持:GET、HEAD、PUT、DELETE、POST、OPTIONS等6种请求方法;在这里我们通过linux curl命令,介绍其中的两种请求方法:GET、POST;使用linux curl命令通过GET、POST命令提交数据、使用POST上传文件,同时使用PHP语言介绍它们提交的数据和上传的文件的接受方法。一、测试前准备:为了测试方便,我们在本站的站点根目录下,写了一个临时接受数据
今天我们继续介绍关于TCP异常情况的内容。本篇文章接着上一篇文章,前面分析了在连接过程中的各种异常,本篇文章重点介绍的是在数据传输过程中的各种异常,以及出现异常后的TCP连接的情况。为了便于大家理解本文,这里我们将上一篇文章的前半部分内容拷贝到这里,这部分内容主要介绍协议的内容。下图是网络通信中常见的架构,也就是CS架构。其中程序包括两部分,分别为客户端(Client)和服务端(Server)。当
标记和清扫Lua是一门自动内存管理的语言,它使用的是经典的标记和清扫算法。这个算法的原理其实非常简单,在我们的编程实践中或多或少都有类似的做法,一个理想的实现是这样的:明确对象模型和关系:统一对象模型,比如Lua所有类型的对象都统一为TValue。所有动态分配的对象串连成一个链表(或多个)。程序中有少数几个根集对象,比如Lua里的注册表,主线程等,这些根集对象再去引用其他对象,由此展开成对象的关系
worker_processes8;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;log_formatmain'$remote_addr-$remote_user[$time_local]"$request"''$sta
lua
原创 2017-12-04 14:14:21
2172阅读
cloud foundry这个东西真是整人。 环境:我司我组大牛整通了一个Cloud Foundry的PAAS平台,偶找了个PHP应用放上去 带后缀/的URL地址访问没有问题, 如果不带,比如访问管理入口: a.xxx.com/admin  则浏览器被301重定向到:       a.xxx.com:61200/admin/   这个地址访问
Base       lua,动态类型语言lua有8种基础类型:nil/boolean/number(实数)/string/userdata(自定义类型)/function/thread(线程)/table(表)。       可用type函数得到一个值的类型,type的返回值
lua-resty-http上传数据lua-resty-http是一个基于Openresty/ngx_lua的HTTP客户端,支持POST方法上传数据。用法很简单。content_by_lua_block { local http = require "resty.http" local httpc = http:new()
转载 2024-03-26 13:50:30
69阅读
作者:沈园园 最后修改时间:2021年3月31日 关键词:HTTP,POST,GET 目录http简介API说明实现流程示例执行HTTP请求的回调函数HTTP请求函数常见问题是否支持HTTPS为什么频繁请求会失败为什么POST JSON格式的数据会出现失败数据接收缓存问题 http简介HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。HTTP是一个应用层协
转载 5月前
14阅读
记一次openresty http.lua 性能调优之旅1 背景最近使用Nginx lua进行http 数据交互,因此想到了resty/http.lua,因此开启一段性能调优之旅。2 发送HTTP GET请求代码local ok, status, headers, code, body = hc:request { url = uri, method = "GET", }很简
转载 2024-04-03 07:17:32
292阅读
参见:lipp/lua-websockets: Websockets for Lua. (github.com)  github网址可能需手动转换lipp.github.com/lua-websockets/>github.com/lipp/lua-websockets websockets为底层的类似于TCP、UDP的socket(实现上基于更底层的socket),不同于上层的webser
转载 2024-05-27 17:02:25
140阅读
框架介绍 xLua是当下最流行的unity热更方案之一,作者是腾讯的车雄生前辈,自2016年初推出以来,已经在腾讯的多款游戏项目上应用,目前xLua已经开源到了GitHub。xLua最大的特色是不仅支持纯lua脚本热更,更是可以做 C# 代码的bug hotfix,即平时开发时使用C#,项目上线后,如果突然发现有bug,可以直接用lua去修复出bug的地方,原理就是通过[Hotfix]特
转载 2024-03-28 12:38:49
66阅读
2006 年 6 月 12 日虽然编译性编程语言和脚本语言各自具有自己独特的优点,但是如果我们使用这两种类型的语言来编写大型的应用程序会是什么样子呢?Lua 是一种嵌入式脚本语言,它非常小,速度很快,功能却非常强大。在创建其他配置文件或资源格式(以及与之对应的解析器)之前,请尝试一下 Lua。尽管诸如 Perl、Python、PHP 和 Ruby 之类的解释性编程语言日益被 Web 应用程序广泛地
Lua 语言的简单介绍  1. Lua的特点 Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。Lua最著名的应用是在暴雪公司的网络游戏WOW中。Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广
转载 2024-08-28 22:16:52
80阅读
这是【Lua 教程系列第 2 篇】,如果觉得有用的话,欢迎关注专栏。一:Lua 语言简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。二:Lua 语言的开发者 Lua 是 巴西里约热内卢天主教大学 里的一个研究小组于 1993 年开发的,三:开发 Lua 的目的 其设计目的是为了嵌入应用程序中,从而
  • 1
  • 2
  • 3
  • 4
  • 5