openresty中使用lua-nginx创建socket实例

 更新时间:2015年04月20日 09:27:21   投稿:junjie  
这篇文章主要介绍了openresty中使用lua-nginx创建socket实例,本文直接给出代码实例和运行效果,需要的朋友可以参考下

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中的闭合函数、非全局函数与函数的尾调用详解

    Lua中的闭合函数、非全局函数与函数的尾调用详解

    这篇文章主要介绍了Lua中的闭合函数、非全局函数与函数的尾调用详解,本文对这2种函数和尾调用做了深入研究,需要的朋友可以参考下
    2014-09-09
  • Lua的编译、执行和调试技术介绍

    Lua的编译、执行和调试技术介绍

    这篇文章主要介绍了Lua的编译、执行和调试技术介绍,本文着重讲解了对错误的处理,另外也讲解了编译和执行等知识,需要的朋友可以参考下
    2015-04-04
  • Lua中的模块(module)和包(package)详解

    Lua中的模块(module)和包(package)详解

    这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数、写一个模块、package.loaded、module函数等内容,需要的朋友可以参考下
    2014-09-09
  • Lua中使用元表(metatable)执行算术类元方法实例

    Lua中使用元表(metatable)执行算术类元方法实例

    这篇文章主要介绍了Lua中使用元表(metatable)执行算术类元方法实例,本文给出了加法、减法、乘法、除法、相反数、取模等内容,需要的朋友可以参考下
    2014-09-09
  • lua操作excel方法分享

    lua操作excel方法分享

    这篇文章主要介绍了lua操作excel方法分享,在网上几乎没有找到像样的示例资料,所以自己写了份,推荐给大家。
    2015-03-03
  • 详解Lua中的数据类型

    详解Lua中的数据类型

    这篇文章主要介绍了Lua中的数据类型,是Lua入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Lua中pairs与ipairs的区别总结

    Lua中pairs与ipairs的区别总结

    这篇文章主要给大家介绍了关于Lua中pairs与ipairs区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-09-09
  • 使用Lua来扩展C++程序的方法

    使用Lua来扩展C++程序的方法

    这篇文章主要介绍了使用Lua来扩展C++程序的方法,尽管更多的时候人们或许会想用C++来扩展Lua...需要的朋友可以参考下
    2015-07-07
  • Lua性能优化技巧(三):关于表

    Lua性能优化技巧(三):关于表

    这篇文章主要介绍了Lua性能优化技巧(三):关于表,本文讲解了一些关于表的优化技巧,需要的朋友可以参考下
    2015-04-04
  • 用sysbench来测试MySQL的性能的教程

    用sysbench来测试MySQL的性能的教程

    这篇文章主要介绍了用sysbench来测试MySQL的性能的教程,使用Lua脚本操作,需要的朋友可以参考下
    2015-04-04

最新评论