问题来源:QT开发的一些网络应用运行不正常,Wireshark抓包发线数据包正常。对方发来的数据包一抓到,但应用程序未获取到。经过
对比发现是应用程序需要的网络数据被防火墙拦截。
参考:
https://blog.csdn.net/qq_35556006/article/details/103240369
解决办法:
1、允许应用程序通过防火墙,win7、win10的防火墙设置中可以进行选择允许应用程序通过。
如图所示,注意,添加后一定要是能对应的网络类型(专用网络或公用网络),不知道所用网络是哪种可以都进行选择
2、应用程序编写中,有时加入一些语句后,在第一次运行时会有防火墙提示,这时一定要进行相应网络选择。
若第一次未选择,则后面再运行时不会再有弹窗提示,需要使用方法1进行手动添加设置。
一些网络端口设置或绑定语句(实验发现)的使用,如;
udpSocketClient->bind(QHostAddress::Any, 7755);
会使程序第一次运行时弹窗提示网络墙设置,如图:
进行对应网络选择后,点击允许访问即可