2
我想使用tcl提供的udp包發送6字節的hex:「8000000004d2」的有效載荷。我能夠發送它,並在接收器電腦上,我可以讀取相同的數據。但在wireshark捕獲中,它顯示了12個字節的有效載荷,因爲它以ascii格式發送數據,如「38 30 30 30 30 30 30 30 32 32 33 34」。任何人都可以告訴我,數據確實以12字節傳輸,或者只有Wireshark將其解釋爲錯誤。如果數據傳輸爲12個字節,任何人都可以幫助我僅使用tcl udp軟件包以6個字節發送數據。僅供參考我給的UDP發送代碼如何使用tcl 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
感謝您的回覆。我想你已經解決了我的問題。謝謝你的其他建議。非常感謝。 – user1497818
Tcl可以很好地處理二進制數據 - 它只是一個包含字節的字符串 - 並且自從Tcl 8.0以來已經完成。 –