You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Artnet Poll Reply数据包未被Jinx识别,求排查及示例代码

Art-Net Poll Reply 数据包格式问题排查与修正

我参考Art-Net官方文档编写了一个函数,用于在接收到Poll请求时发送Artnet Poll Reply数据包。测试时本机IP为192.168.4.114,已确认Poll数据包能正常接收,代码也能完成发送操作,但设备发现工具Jinx始终无法识别该设备,推测是数据包格式有误。希望得到可用的Poll Reply示例代码,或帮忙排查以下代码问题:

else if (e.Packet.OpCode == ArtNet.Enums.ArtNetOpCodes.Poll)
{
    System.Threading.Thread.Sleep(2000);
    byte[] packetData = {
        0x41, 0x72, 0x74, 0x2d, 0x4e, 0x65, 0x74, 0x00, // 0-7 "Art-Net"
        0x00, 0x21, // 8-9 OpCode (ArtPollReply)
        192,168,4,114, //  10-13 IP ADDRESS
        0x36, 0x19, // 14-15 Port-Address
        0x01, 0x40, // 16-17 hi lo VersInfo
        0x00,       // 18 NetSwitch
        0x01,       // 19 SubSwitch
        0x20, 0x60, // 20-21 OemHi, Lo
        0x00,       // 22 Ubea version #
        0x10,       // 23 Status 1 (configuration bits)
        0x4c, 0x41, // 24-25 lo hi ESTA manufacturer code
        // Short name 26-43 (18 bytes)
        0x41, 0x72, 0x74, 0x2d, 0x4e, 0x65, 0x74, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x30, 0x30, 0x31,
        // Long name 44-107(64 bytes)
        0x41, 0x72, 0x74, 0x2d, 0x4e, 0x65, 0x74, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x30, 0x30, 0x31, //says Art-Net Device
        0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
        // Node Report 108-171 (64 bytes)
        0x23, 0x30, 0x30, 0x30, 0x31, 0x20, 0x5b, 0x30, 0x30, 0x30, 0x30, 0x5d, 0x20, 0x41, 0x43, 0x4d, 0x45, 0x20,
        0x41, 0x72, 0x74, 0x2d, 0x4e, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        // 127-173 NumPorts (2 bytes)
        0x00, 0x01,
        // 174-177 Port types (4 bytes)
        0x00, 0x02, 0x02, 0x00,
        // 178-181 GoodInput (4 bytes)
        0xff, 0xff, 0xff, 0xff,
        // 182-185 GoodOutput (4 bytes)
        0xff, 0xff, 0xff, 0xff,
        // 186-189 SwIn (4 bytes)
        0x00, 0x00, 0x00, 0x00,
        // 190-193 SwOut (4 bytes)
        0x00, 0x00, 0x00, 0x00,
        // 194-196 deprecated
        0x00, 0x00, 0x00,
        // 197-199 spare
        0x00, 0x00, 0x00,
        // Style (1 byte)
        0x00,
        // MAC (6 bytes)
        0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
        // BindIp (4 bytes)
        192, 168, 4, 114,
        // BindIndex (1 byte)
        0x00,
        // Status2 (1 byte)
        0x00
    };
    UdpClient client = new UdpClient();

    client.Send(packetData, packetData.Length, e.Source.Address.ToString(), e.Source.Port);
}

代码问题排查

  1. VersInfo字段错误:你设置的0x01, 0x40对应版本号320,但Art-Net协议要求必须使用版本14(0x00, 0x0E),这是Jinx识别设备的核心条件,不匹配会直接被忽略。
  2. Port-Address字段混淆:0x36, 0x19是UDP端口6454的十六进制,但Port-Address字段是节点的DMX端口标识(Net+SubNet+Universe),常规配置应设为0x00, 0x01(Net0、SubNet0、Universe1)。
  3. PortTypes与NumPorts不匹配:NumPorts设为1个输出端口,但PortTypes中第二个输入端口设为0x02,应改为0x00, 0x00, 0x02, 0x00,仅标记第一个输出端口为DMX类型。
  4. 不必要的延迟:Thread.Sleep(2000)会导致响应超时,Jinx的发现窗口较短,直接移除即可。
  5. ESTA厂商代码:0x4c, 0x41是特定厂商代码,测试设备建议使用通用测试码0xFF, 0xFF。

修正后的可用示例代码

else if (e.Packet.OpCode == ArtNet.Enums.ArtNetOpCodes.Poll)
{
    byte[] packetData = {
        0x41, 0x72, 0x74, 0x2d, 0x4e, 0x65, 0x74, 0x00, // 0-7: Art-Net标识
        0x00, 0x21, // 8-9: OpCode (ArtPollReply = 0x2100)
        192, 168, 4, 114, // 10-13: 本机IP地址
        0x00, 0x01, // 14-15: Port-Address (Net0, SubNet0, Universe1)
        0x00, 0x0E, // 16-17: VersInfo (Art-Net协议版本14)
        0x00,       // 18: NetSwitch (Net0)
        0x00,       // 19: SubSwitch (SubNet0)
        0x00, 0x00, // 20-21: OemHi/Lo (自定义设备默认值)
        0x00,       // 22: UbeaVersion (未使用,设为0)
        0x00,       // 23: Status1 (无特殊标识)
        0xFF, 0xFF, // 24-25: ESTA厂商代码 (测试用)
        // 26-43: Short Name (18字节)
        0x41, 0x72, 0x74, 0x4E, 0x65, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x00,
        // 44-107: Long Name (64字节)
        0x41, 0x72, 0x74, 0x4E, 0x65, 0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
        0x20, 0x66, 0x6F, 0x72, 0x20, 0x4A, 0x69, 0x6E, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        // 108-171: Node Report (64字节)
        0x23, 0x30, 0x30, 0x30, 0x30, 0x20, 0x5B, 0x30, 0x30, 0x30, 0x30, 0x5D, 0x20, 0x52, 0x65, 0x61, 0x64, 0x79,
        0x20, 0x74, 0x6F, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, 0x44, 0x4D, 0x58, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        // 172-173: NumPorts (1个输出端口)
        0x00, 0x01,
        // 174-177: PortTypes [Input1, Input2, Output1, Output2]
        0x00, 0x00, 0x02, 0x00,
        // 178-181: GoodInput (无输入,设为0)
        0x00, 0x00, 0x00, 0x00,
        // 182-185: GoodOutput (输出正常,设为0xFF)
        0xFF, 0x00, 0x00, 0x00,
        // 186-189: SwIn (默认映射)
        0x00, 0x00, 0x00, 0x00,
        // 190-193: SwOut (默认映射)
        0x00, 0x00, 0x00, 0x00,
        // 194-196: 保留字段
        0x00, 0x00, 0x00,
        // 197-199: 备用字段
        0x00, 0x00, 0x00,
        // 200: Style (普通节点)
        0x00,
        // 201-206: MAC地址 (替换为设备真实MAC)
        0x00, 0x11, 0x22, 0x33, 0x44, 0x55,
        // 207-210: BindIp (与本机IP一致)
        192, 168, 4, 114,
        // 211: BindIndex (默认0)
        0x00,
        // 212: Status2 (默认0)
        0x00
    };

    using (Udp
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:39:32