目录

Lua Socket笔记

目录

完整说明,见引用 https://lunarmodules.github.io/luasocket/reference.html

select用法

等待多个套接字更改状态

1
socket.select(recvt, sendt [, timeout])

参数:

  • Recvt是一个带有套接字的数组,用于测试可供读取(接收)的字符

  • sendt是一个带有套接字的数组,用于测试可供写入(发送)的字符

  • timeout是等待状态更改的最大时间(以秒为单位)。nil、负或省略的timeout允许函数无限期阻止。

    Recvtsendt也可以是空tablesnil。数组中的非套接字值(或具有非数字索引的值)将被默默忽略。

三个返回值:

  • 一个套接字准备读取(接收)的列表

  • 一个套接字准备写入(发送)的列表

  • 一个错误消息:

    • 如果超时,则错误消息为“timeout”.
    • 如果调用失败,则错误消息为“select failed”.
    • 其它情况为nil
  • 返回的tables,键为整数,值为套接字本身。