LuaSocket (UDP) 未接收数据报

2023-11-30

我正在为我正在进行的项目尝试 LuaSocket。我选择 UDP 作为我的协议。

在网上寻找文档和教程,我尝试创建一个客户端-服务器对以进行测试和学习。

根据我所读到的内容,以下代码应该可以工作。然而,只有服务器似乎工作正常。客户端发送消息,但不会收到服务器的回复。

感谢任何人可以提供的任何帮助。

Server:

-- Server
#!/usr/bin/env lua5.1

local socket = require("socket")

udp = socket.udp()
udp:setsockname("*", 53474)
udp:settimeout(0)

while true do
    data, ip, port = udp:receivefrom()
    if data then
        print("Received: ", data, ip, port)
        udp:sendto(data, ip, port)
    end
    socket.sleep(0.01)
end

Client:

-- Client
#!/usr/bin/env lua5.1

local socket = require("socket")

udp = socket.udp()
udp:setpeername("127.0.0.1", 53474)
udp:settimeout(0)

udp:send("Data!")
data = udp:receive()
if data then
    print("Received: ", data)
end

您设置的超时值为0,这会导致客户端每次都超时。

要修复它,请为其指定一个正的超时值:

udp:settimeout(1)

或者将其设置为nil或负值,因此它无限期地阻塞:

udp:settimeout()

or

udp:settimeout(-1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LuaSocket (UDP) 未接收数据报 的相关文章

  • 安装Lua套接字库

    要么我太累了 要么我瞎了 我想学习 Lua 网络 因此我必须安装socketlib 所以我可以轻松地要求它 但我不知道我应该 要求 哪些文件 例子说 local socket require socket 但正如我所说 如果我使用 我不知道
  • P2P网络游戏/应用程序:类似“战网”匹配服务器的不错选择

    我正在制作一个网络游戏 1v1 游戏中是 p2p 不需要游戏服务器 然而 为了让玩家能够 找到彼此 而不需要在另一种媒介中协调并输入IP地址 类似于网络游戏的现代时代 我需要有一个协调 匹配服务器 我无法使用常规网络托管 因为 客户端将使用
  • 为什么 UDP 服务器中只有一个套接字?

    我正在准备考试 发现了这个问题 典型的 UDP 服务器可以使用单个套接字来实现 解释一下为什么 对于 TCP 驱动的服务器 我发现创建了两个套接字 一个用于所有客户端访问服务器 另一个用于每个客户端的特定 套接字 用于服务器和客户端之间的进
  • 如何终止Lua脚本?

    如何终止 Lua 脚本 现在我在 exit 方面遇到问题 我不知道为什么 这更像是一个 Minecraft ComputerCraft 问题 因为它使用了包含的 API 这是我的代码 while true do if turtle dete
  • 如何使用 Nmap 检索 TCP 和 UDP 端口? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我需要在使用 Nmap 的同一扫描中以尽可能最快的方式检索 TCP 和 UDP 端口 我会尽力解释得更好 如果我使用最常用的命令 nmap 192 1
  • 为什么SOCKS5需要通过UDP中继UDP?

    The SOCKS5 https en wikipedia org wiki SOCKS SOCKS5协议 描述为RFC1928 https www rfc editor org rfc rfc1928提供对 UDP 的支持 总而言之 希望
  • 在 Lua 中只归档一次

    我想知道是否有一种方法可以只执行一次 lua 文件 并且后续尝试执行该 lua 文件将导致无操作 我已经考虑过做一些类似于 C header 的 if else endif 技巧的事情 我想知道是否有一个标准方法来实现这一点 James w
  • 如何读取 UDP 连接直至超时?

    我需要读取 UDP 流量 直到超时 我可以通过在 UDPConn 上调用 SetDeadline 并循环直到出现 I O 超时错误来做到这一点 但这看起来很黑客 基于错误条件的流量控制 下面的代码片段看起来更正确 但并没有终止 在生产中 这
  • 错误号:11,资源暂时不可用

    我正在使用 c 套接字来实现可靠的 UDP 协议 我正在使用以下代码在等待确认的套接字上设置超时 我不确定为什么会收到 errno 11 资源暂时不可用 set timer for recv socket struct timeval tv
  • 在Windows上使用gcc 5.3.0编译Lua 5.2.4模块

    我需要用 gcc 5 3 0 编译 Lua 5 2 4 模块 在 Windows 上 在此之前 我按照以下步骤构建 Lua 5 2 4 gcc c DLUA BUILD AS DLL c ren lua o lua obj ren luac
  • 写入 UDP 套接字会被阻塞吗?

    如果是的话 在什么条件下 或者 换句话说 在twisted 中运行此代码是否安全 class StatsdClient AbstractStatsdClient def init self host port super StatsdCli
  • 模式 ^u.meta(\.|$) 未按预期工作

    我有这个模式 u meta 预期行为 u meta 将匹配所有角色 例如 u meta u meta admin u meta admin system u meta 它不应该匹配如下所示的内容 u meta admin u meta ad
  • 如何从 DatagramPacket 中检索字符串[重复]

    这个问题在这里已经有答案了 下面的代码打印 B 40545a60 B 40545a60abc exp 但我想打印abc 以便我可以从接收系统检索正确的消息 public class Operation InetAddress ip Data
  • 编译过程

    谁能解释一下编译是如何工作的 我似乎无法弄清楚编译是如何工作的 更具体地说 这是一个例子 我正在尝试在 MSVC 6 中编写一些代码来加载 Lua 状态 我已经 设置库的附加目录并将文件包含到正确的目录中 使用 extern C 因为 Lu
  • 如何使用 Torch7 进行预测

    我仍在熟悉 Torch 到目前为止一切顺利 然而 我遇到了一个死胡同 我不知道如何解决 如何让 Torch7 或更具体地说 dp 库 来评估单个输入并返回预测输出 这是我的设置 基本上是 dp 演示 require dp hyperpara
  • 在循环内部或外部声明本地更好吗? [复制]

    这个问题在这里已经有答案了 我习惯这样做 do local a for i 1 1000000 do a
  • 如何循环遍历表并保持顺序?

    我得到了下表 local a 12 30 24 60 60 year 30 24 60 60 month 24 60 60 day 60 60 hour 60 minute 1 second 但是 当我对它进行配对循环并打印 key val
  • 从 Docker 容器发送多播数据包(到多播组)

    我有一个通过 UDP 多播发送消息的应用程序 我一直试图将其放在 docker 下 我在尝试从 Docker 容器发送多播数据包时遇到了很大的阻力 我已经能够通过 net host运行 docker 容器的选项 然而 我想坚持使用桥接配置
  • RTSP 设置后接收 RTP 数据包

    我正在尝试使用 Python 从 IP 摄像机流式传输 RTP 数据包 我能够使用 RTSP 协议发送描述 设置和播放命令 但是 我无法开始使用 RTP 传输实际视频流 这是代码 import socket def printrec rec
  • 如何在 Lua-C API 5.2 中创建类对象?

    我正在使用 Lua 封装 C 函数 使用 Lua 5 2 的 Lua C API include

随机推荐

  • 如何在 howler.js 上链接声音

    我需要在 howler js 中播放一些声音 但我不知道如何链接它 例如 在字符串 BCG 需要先玩 b ogg 然后玩 c ogg 最后玩 g ogg 如果我只是使用 加载后 sound play b sound play c sound
  • 单击 Javascript 中的按钮显示 android DatePicker

    这是我的要求 我正在将一个 html 文件加载到 WebView 上 我在 html 文件中有一个按钮来选择日期 当我单击该按钮时 我想打开 Android 日期选择器对话框 选择日期后 我想在 html 文件中显示所选日期 谁能指导我 请
  • 如何使用半透明选择器选择屏幕上任意位置的颜色?

    小免责声明 这是我第一次在表单中搞乱图形 因此我对这里的概念不太熟悉 好吧 所以我一直在尝试制作一个应用程序来跟踪光标在整个屏幕中的位置并在其周围绘制一个椭圆 我借用的代码来自this问题 我更改了椭圆的 X 和 Y 位置 以便在光标周围自
  • 数据框的子集,其中一列的倒数第二个值

    我有一个包含很多列的 data frame 其中一列包含样本区域的代码 另一列包含样本的编号 我想从每个样本区域的倒数第二个样本中提取信息子集 我尝试了很多不同的事情 最后这是我最好的猜测 但它仍然不起作用 site lt sample 1
  • python 中的 list.insert() 实际上做了什么?

    我有这样的代码 squares for value in range 1 5 squares insert value 1 value 2 print squares print squares 0 print len squares 输出
  • nvd3 堆积面积图看起来有问题如何修复?

    我的堆积面积图如下所示 我使用的数据具有相同数量的值 就像示例中一样 我使用的数据位于 http pastebin com D07hja76 除了选择器之外 我使用的代码也几乎相似 var colors d3 scale category2
  • isEqualNode 因 html 空白不同而失败

    当我使用使用不同空格的 html 字符串时 我发现 Node isEqualNode 方法出现意外行为 无论有或没有空格 html 结构都是等效的 但 innerText 属性具有不同的值 这仅用于测试目的 因此不要对 html 字符串投反
  • 您可以编写单个 FetchXML 查询来获取一对多关系吗?

    是否可以编写一个获取根实体和多个子实体的 FetchXML 查询 我能做的就是1 1 詹姆斯 伍德是正确的 获取 XML 是递 归的 因此通过使用链接实体 您可以获得所需的信息 例如 以下内容是有效的
  • 用于在 HTML 中查找类名的正则表达式

    我想用grep找出是否 何处在一堆文件中使用了 html 类 正则表达式模式不仅应该找到 p class foo 但是也 p p class foo bar foo bar 到目前为止 我能够在下面的示例中找到 class foo 但无法使
  • 如何用Java读取视频文件的第一个和最后一个64kb?

    我想使用字幕 API 它需要视频文件的第一个和最后一个 64kb 的 md5 哈希值 我知道如何执行 md5 部分 只是想知道如何获取 128kb 的数据 Python 给出了 API 的示例 但遗憾的是我不明白它 this hash fu
  • 如何正确实现 C++ 中仅由抽象基已知的对象列表的创建(和分配)?

    我应该更喜欢堆栈分配而不是堆分配 最好按值传递 特别是当你正在创建新对象时 但同时 如果您按基类返回 您的对象将被切片 or 至少通过引用而不是传递指针 虽然您无法创建引用向量 我仔细地读了这一切 现在我觉得我知道的比以前知道的少了 我对如
  • 如何有效地使用 CompletableFuture 来映射每个输入的异步任务

    我想返回包含所有键到值的映射的映射 这些值是 API 对这些键的响应 我在用CompletableFuture and Guava为了这 以下是我的尝试 是否有其他标准方法可以使用 Java 8 和线程 API 实现相同的效果 地图正在id
  • numpy 用整数增量替换元素组

    import numpy as np data np array b b b a a a a c c d d d 我需要像这样逐步用整数替换每组字符串 data np array 0 0 0 1 1 1 1 2 2 3 3 3 我正在寻找一
  • 如何输入长度超过 4095 个字符的值?

    我试图input 包含大量 JSON 粘贴的字符串 为什么我要粘贴一大堆 json 超出了我的问题范围 但是当我说我有一个不完全愚蠢的原因时 请相信我 然而 input 仅抓取粘贴的前 4095 个字符 原因见这个答案 我的代码大致如下 i
  • 使用带有position:absolute的li时,IE8不会悬停

    我有一种图像地图 我在其中使用 li 来创建元素 并将鼠标悬停在弹出的信息上 html代码是 li a href span nbsp span span class para Some text and maybe an image goe
  • Haskell 使用特定的数据构造函数过滤嵌套列表

    假设我有数据类型 data Joke Funny String Lame String 并说我有以下嵌套列表 Funny Haha Lame boo Funny Haha Lame BOO 我将如何过滤这样的嵌套列表 以便嵌套列表中包含的任
  • sqlfiddle.com 5.5.30 和 MariaDB 5.5.31 中的不同结果

    sqlfiddle http sqlfiddle com 2 9a8b3 1 从小提琴中获取结构和数据并进行查询 导入到我的 MariaDB 5 5 31 中 我得到不同的结果 sqlfiddle PID NAME LEAGUEPOINTS
  • 使用 XOR 实现 OR,AND

    我想知道我是否可以实施or and函数仅使用xor 我认为这是不可能的 但我需要证明这一点 有任何想法吗 提前致谢 您不能仅使用 XOR 来实现 OR 或 AND 门 因为它不是通用门 此外 XOR 函数无法区分其输入处的 1 1 和 0
  • 在 AngularJS 中将货币从美国转换为英国

    我尝试显示此代码 但我需要 AngularJS 自动转换货币 div default currency symbol 0 00 currency custom currency symbol 0 00 currency div 正如 And
  • LuaSocket (UDP) 未接收数据报

    我正在为我正在进行的项目尝试 LuaSocket 我选择 UDP 作为我的协议 在网上寻找文档和教程 我尝试创建一个客户端 服务器对以进行测试和学习 根据我所读到的内容 以下代码应该可以工作 然而 只有服务器似乎工作正常 客户端发送消息 但