1

从发送方节点,我通过模拟脚本中的命令发送数据包: 路由器 << new DatagramReq(to: 1, data:[1,1,1,1], protocol:Protocol.DATA); 我想知道,如何在 log-0.txt 文件中记录发送方物理层发送的数据报时间

4

1 回答 1

0

将代理的日志级别设置为 FINE 应该记录该代理发送的所有消息。按照惯例,每个代理的记录器名称遵循代理的类名。如果您执行 a ps,您将看到代理的类名:

> ps
remote: org.arl.unet.remote.RemoteControl - IDLE
rdp: org.arl.unet.net.RouteDiscoveryProtocol - IDLE
ranging: org.arl.unet.phy.Ranging - IDLE
uwlink: org.arl.unet.link.ReliableLink - IDLE
node: org.arl.unet.nodeinfo.NodeInfo - IDLE
phy: org.arl.unet.sim.HalfDuplexModem - IDLE
arp: org.arl.unet.addr.AddressResolution - IDLE
transport: org.arl.unet.transport.SWTransport - IDLE
router: org.arl.unet.net.Router - IDLE
mac: org.arl.unet.mac.CSMA - IDLE

如果您正在运行模拟器,您可以看到phy代理类是。org.arl.unet.sim.HalfDuplexModem您可以将模拟类的日志级别设置为 INFO:

> logLevel 'org.arl.unet.sim', FINE

现在,日志将显示消息(及其相应的时间)。例子:

1567801752688|FINE|org.arl.unet.sim.HalfDuplexModem/A@47:handleTxFrameReq|TxFrameReq:REQUEST[type:DATA to:1 (4 bytes)] Data:
    01010101
1567801752741|FINE|org.arl.unet.sim.HalfDuplexModem/A@47:sendTxFrameNtf|TxFrameNtf:INFORM[type:DATA txTime:753410296]
1567801753392|FINE|org.arl.unet.sim.HalfDuplexModem/B@63:sendRxFrameStartNtf|RxFrameStartNtf:INFORM[type:DATA rxTime:3515132027]
1567801754095|FINE|org.arl.unet.sim.HalfDuplexModem/B@63:sendRxFrameNtf|RxFrameNtf:INFORM[type:DATA from:232 to:1 rxTime:3515132027 (4 bytes)] Data:
    01010101
于 2019-09-06T20:34:33.583 回答