openresty中使用lua-nginx创建socket实例
程序员文章站
2022-04-29 08:40:05
lua语言太强大了,至少我是这样觉得的。原始的lua没有socket功能,需要使用者下载lua socket组件,require一下才行。而lua-nginx模块自带了so...
lua语言太强大了,至少我是这样觉得的。原始的lua没有socket功能,需要使用者下载lua socket组件,require一下才行。而lua-nginx模块自带了socket功能,而且是100%的非阻塞模式,再次感谢作者章亦春。
使用socket功能很简单,只有几个简单的方法即可主要就是有tcp和udp的区别。(这里只是lua文件,其他请见hello world 文章)
复制代码 代码如下:
local sock = ngx.socket.tcp()
local ok,err = sock:connect('whois.cnnic.net.cn',43)
if not ok then
ngx.say('failed to connect whois server',err)
return
end
sock:settimeout(5000)
local ok, err = sock:send("baidu.cn\r\n")
if not ok then
ngx.say('failed to send data to whois server', err)
return
end
local line, err, partial = sock:receive('*a')
if not line then
ngx.say('failed to read a line', err)
return
end
ngx.print(line)
完美运行:
下一篇: Lua脚本自动生成APK包
推荐阅读
-
navicat中创建存储过程、触发器和使用游标的简单实例(图文)
-
在python中的socket模块使用代理实例
-
openresty中使用lua-nginx创建socket实例
-
在python中的socket模块使用代理实例
-
Python中晦涩难懂的概念,定义类创建和使用实例,单下划线和双下划线,__init__构造函数等
-
在python中的socket模块使用代理实例
-
php中主要的socket函数语法和使用实例详解
-
在python中的socket模块使用代理实例
-
.Net中Core使用Socket与树莓派进行通信的实例分析(图文)
-
node.js中的Socket.IO使用实例_node.js