【发布时间】:2022-01-13 10:20:02
【问题描述】:
我这里有一个 UDP 发送程序:
# UDPSender.jl
using Sockets
sock = UDPSocket()
bind(sock,IPv4(200,120,1,1),1025)
data = [0x00, 0x20, 0x00, 0x10, 0x00, 0x01, 0x00, 0x3f, 0x00, 0x08, 0x00, 0x00, 0x0b, 0xb8, 0x64, 0x00]
send(sock,ip"200.120.1.1", 11028,data)
这里是 UDP 监听器:
# UDPListener.jl
using Sockets
s = Sockets.UDPSocket()
Sockets.bind(s, ip"200.120.1.1", 11028)
while true
hostport, packet = Sockets.recvfrom(s)
println(packet)
end
当两个文件在单独的 Julia 命令行中运行时,
UDPListener.jl 中的语句println(packet) 能够在命令行中打印数据。
但是这些数据包不会被 Wireshark 捕获。
为什么 Wireshark 无法显示数据包?
操作系统:Windows 10 64 位。局域网环回
NB : 向 julia discourse site 询问相同的 qn,尚未获得批准。
【问题讨论】:
-
你试过用不同的语言做类似的事情吗?这是 Julia 的网络堆栈特有的还是一般环回 UDP 流量的典型情况?
-
@StefanKarpinski 在 Matlab 中,这种代码使用广播 IP 地址 255.255.255.255。
标签: networking udp julia wireshark