我想使用 tcl 提供的 udp 包发送 6 字节十六进制的有效负载:“8000000004d2”。我能够发送它,并且在接收器 pc 上我能够读取相同的数据。但在 Wireshark 捕获中,它显示了 12 个字节的有效负载,因为它以 ascii 格式发送此数据,例如“38 30 30 30 30 30 30 30 31 32 33 34”。谁能告诉我数据是真的以 12 个字节传输还是只有 Wireshark 将其解释为错误的。如果数据以 12 个字节传输,任何人都可以帮助我仅使用 tcl udp 包以 6 个字节发送它。作为参考,我提供了 udp 发件人代码
UDP 发件人代码:
namespace eval soc {
variable s
}
set soc::s [udp_open]
udp_conf $soc::s $IP_ADDR_RX $UDP_PORT
fconfigure $soc::s -buffering none -translation binary
set data 1234
append hex [ format %04X [ expr $i | 0x8000 ] ]
append hex [ format %08X [ expr $data ] ]
puts -nonewline $soc::s $hex