在Wireshark中看到的数据报,没有被QtUDPSocket接收 |
您所在的位置:网站首页 › wireshark常用命令 › 在Wireshark中看到的数据报,没有被QtUDPSocket接收 |
(new QUdpSocket);
qDebug() bind(QHostAddress("192.168.10.10"), 1920))
{
qDebug() connectToHost(QHostAddress("192.168.10.200"), 1919);
sendArpRequest();
}
void UdpConnection::readyRead()
{
while (fpgaConnection->hasPendingDatagrams())
{
QByteArray buffer;
buffer.resize(fpgaConnection->pendingDatagramSize());
QHostAddress sender;
quint16 senderPort;
fpgaConnection->readDatagram(buffer.data(), buffer.size(), &sender, &senderPort);
qDebug()
UdpConnection不在与main的单独线程上运行.应该是吗? 我绑定成功,我认为"connectToHost"正在工作,因为我能够向远程主机发送消息. 该应用程序已添加到防火墙例外列表中(同样,ARP握手证明它们能够进行通信). 该接口是FPGA和PC之间的直接以太网连接.
为什么Wireshark能够看到这些消息,但我的程序不是? 更新#1 Wireshark将2KHz数据包作为LLC数据包.以太网标头显示正确的目标(我的MAC地址),源地址(在FPGA中硬编码)和长度.IP报头的源IP为192.168.10.200,目标IP为192.168.10.10,UDP报头的源端口为1920,目标端口为1919. 更新#2 Wireshark日志:paste.ee/p/98c1H如您所见,数据包重复并以2KHz从FPGA发送.ARP传输和回复可以作为第5,10和11个数据包找到. UPDATE#3 传入数据包的IP数据包具有正确的校验和,该校验和未设置为0x0000. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |