首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与其他Lua代码并行的Lua中的持久套接字

与其他Lua代码并行的Lua中的持久套接字
EN

Stack Overflow用户
提问于 2013-02-23 01:25:43
回答 2查看 1.6K关注 0票数 1

我正在Lua中实现套接字,我正在使用的示例代码使用以下方法来保持连接的活动状态:

代码语言:javascript
运行
复制
while true do
  -- handle socket traffic here
  socket.sleep(1)
end

该循环显然会阻止项目代码的其余部分运行,但如果我退出该循环,套接字服务器会立即提示连接已关闭。

那么,当我的其余Lua代码正常运行时,如何保持套接字同时打开呢?(是否有某种后台工作支持?协程是否可以用于此目的?)

EN

回答 2

Stack Overflow用户

发布于 2013-02-24 07:48:26

我使用Lua Lanes启动了一个线程,该线程执行套接字i/o并在后台运行,正如您所说的。

http://kotisivu.dnainternet.net/askok/bin/lanes/

看看这个答案,它提供了关于使用Lua通道和套接字的信息。

LuaLanes and LuaSockets

提供的双线程轮询解决方案可能是最可行的,但也有关于协程的信息。

票数 0
EN

Stack Overflow用户

发布于 2013-02-25 18:56:21

你确实可以使用协程来达到这个目的。这就是流行的库Copas所做的事情。

根据您的用例,您可以使用Copas或查看其源代码以了解它是如何做到这一点的。你也可以看看lua-websockets,它使用了Copas。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15029874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档