This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TDA2EVM5777:UDP 客户端无法在 recvfrom ()中接收数据,尽管它使用 sento ()发送

Guru**** 2551570 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/607194/ccs-tda2evm5777-udp-client-is-not-able-to-receive-data-in-recvfrom-although-it-is-sending-using-sento

器件型号:TDA2EVM5777

工具/软件:Code Composer Studio

大家好、

我在客户端模式下打开了 UDP 端口,并尝试在端口上发送和接收数据,它能够成功地传输数据,但在 recvfrom ()中接收数据时遇到困难,尽管 PC 端的服务器正在发送数据,在 Wireshark 日志中可以观察到这种情况。

下面是代码段。 请帮助解决此问题。

 pObj->port =端口;
   pObj->sockFd = socket (AF_iNet、SOCK_DGRAM、IPPROTO_UDP);
   if (pObj->sockFd =invalid_socket)
   {
       vps_printf ("网络:无法打开套接字(port=%d)!!!\n"、port);
       返回-1;
   }
   
 int lenSize = sizeof (sin_ctrl);
 结构时间 val    至;

 /*将套接字超时配置为3秒*/
 TO.tv_sec = 3;
 TO.tV_usec = 0;
 setsockopt( pObj->sockFd,SOL_socket,SO_SNDTIMEO,&to,sizeof( to ));
 setsockopt( pObj->sockFd,SOL_socket,SO_RCVTIMEO,&to,sizeof( to ));


 /*绑定到指定的服务器端口*/
 bzero (&sin ctrl,sizeof (struct sockaddr_in)));
 Sin_Ctrl.Sin_Family    = AF_iNet;
 Sin_Ctrl.Sin_addr.s_addr = inet_addr ("192.168.1.201");//INADDR_ANY;
 Sin_Ctrl.Sin_port      = htons (pObj->port);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已将您的问题转交给网络专家。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 Sachin、

    您是否在 Recvfrom 中遇到任何错误? 您能否检查所有详细信息、如端口号 在 Wireshark 的数据包中正确配置 ETC。
    此外、如果缺少任何配置、您还可以使用以下示例作为交叉检查的参考。

    e2e.ti.com/.../7587.temp.zip