CH579 tftp client问题

现在使用CH579的网口开发了tftp client程序,create socket时源端口使用3800,目的端口使用69,tftp get包发送到服务器后,服务器回包的源端口是随机的如58690,目的端口是3800,但是此时CH579会回复port unreachable,在CallBack函数里收不到包,请问可能是什么原因?

    TmpSocketInf.DesPort = 69;         

    TmpSocketInf.SourPort = 3800;   

    TmpSocketInf.ProtoType = PROTO_TYPE_UDP;

    TmpSocketInf.AppCallBack=CH579NET_tftpClinetRecv; 

    TmpSocketInf.RecvStartPoint = (UINT32)SocketRecvBuf_tftp; 

    TmpSocketInf.RecvBufLen = 600 ;                                   

    i = CH57xNET_SocketCreat(&SocketId_tftp,&TmpSocketInf); 


UDP方式下,“目的端口使用69”和“服务器回包的源端口是随机的如58690”不匹配,会做过滤。您要使用的话,初始化udpsocket的时候目的端口先初始化为255.255.255.255,然后发送的时候再使用CH57x_NETUdpSnedTo()函数定向发包,此时能接受端口不一致的数据包。


只有登录才能回复,可以选择微信账号登录