• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > openresty中使用lua-nginx创建socket实例

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

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了openresty lua,openresty lua redis,openresty,openresty是什么,openresty 最佳实践等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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)
</div>
完美运行:


</div>

您可能想查找下面的文章:

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

相关文章

  • Lua中的函数知识总结
  • Lua中强大的元方法__index详解
  • 详解Lua中repeat...until循环语句的使用方法
  • Lua中使用.和:调用函数的区别
  • Lua中的模块与module函数详解
  • 详解Lua中的数组概念知识
  • Lua的函数环境、包实例讲解
  • 编写高性能Lua代码的方法
  • 把Lua函数传递到C/C++中实例
  • Lua中获取table长度的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua性能优化技巧(二):基本事实
    • 在Lua中使用模块的基础教程
    • Lua中的协同程序探究
    • Lua中算术运算符的使用示例
    • 在Lua程序中使用SQLite的教程
    • Lua中的__index方法详解
    • Lua判断变量是否为数字、字符串是否可以转换为数字等
    • Lua实现类继承
    • Lua中的string库(字符串函数库)总结
    • Lua中table的遍历详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有