sách gpt4 ai đã đi

sockets - luasocket 从端口 1900 发送 UDP 数据

In lại 作者:行者123 更新时间:2023-12-01 13:52:58 26 4
mua khóa gpt4 Nike

我正在尝试从我的家庭自动化 Controller 模拟 Belkin wemo 开关,以从 amazon Echo 发送语音命令。该 Controller 支持 lua 语言。

我正在跟进这个tài liệu将UDP数据从Controller的1900端口发送到Echo的50000端口。现在每次我发送数据时,Socket 都会使用随机端口发送数据,而不是从端口 1900 发送数据。如果数据来自端口 1900,Echo 只会建立有效连接并回复。过去两天我一直在摸索着做是工作但还没有弄明白。

下面是我的代码。

strData1 =
'HTTP/1.1 200 OK' ..
'HOST: 239.255.255.250:1900'..
'CACHE-CONTROL: max-age=100'..
'EXT:'..
'LOCATION: http://192.168.1.152:49153/description.xml'..
'SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.19.0'..
'hue-bridgeid: B8AC6FFFFEC53475'..
'ST: upnp:rootdevice'..
'USN: uuid:2f402f80-da50-11e1-9b23-b8ac6fc53475::upnp:rootdevice'

local socket = require "socket"
local udp = socket.udp()

udp:settimeout(0)
udp:setsockname('*', 1900)
udp:setpeername('192.168.1.102', 50000) -- Echo IP and Port number
udp:sendto(strData1,'192.168.1.102',50000)

1 Câu trả lời

您快到了:tài liệu声明在使用 setpeername 时,必须使用 gửi Còn hơn là sendto.

此外,我猜这是一个拼写错误,但您正在尝试发送 Dữ liệu Còn hơn là strData1。这是更正后的版本:

strData1 =
'HTTP/1.1 200 OK' ..
'HOST: 239.255.255.250:1900'..
'CACHE-CONTROL: max-age=100'..
'EXT:'..
'LOCATION: http://192.168.1.152:49153/description.xml'..
'SERVER: Linux/3.14.0 UPnP/1.0 IpBridge/1.19.0'..
'hue-bridgeid: B8AC6FFFFEC53475'..
'ST: upnp:rootdevice'..
'USN: uuid:2f402f80-da50-11e1-9b23-b8ac6fc53475::upnp:rootdevice'

local socket = require "socket"
local udp = socket.udp()

udp:settimeout(0)
udp:setoption('reuseaddr',true)
udp:setsockname('*', 1900)
udp:setpeername('192.168.1.102', 50000) -- Echo IP and Port number
udp:send(strData1)

tcpdump的抓包显示源端口是正确的:

22:40:45.653222 IP my.super.secret.ip.1900 > 192.168.1.102.50000: UDP, 长度 280

关于sockets - luasocket 从端口 1900 发送 UDP 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48305020/

26 4 0
Bài viết được đề xuất: r - 在 R 或 RStudio 中创建并排箱线图(按值分组)
Bài viết được đề xuất: angularjs - 如何使用包裹在 CKEditor 小部件中的 Angular 指令
Bài viết được đề xuất: 3d - 如何栅格化 3d 网格?
Bài viết được đề xuất: emacs - 无法将 emacs 作为守护进程运行
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com