首页
学习
活动
专区
圈层
工具
发布

TCP重传
EN

Stack Overflow用户
提问于 2021-01-28 14:50:30
回答 1查看 486关注 0票数 0

我试图在两个stm32设备之间做TCP连接。首先,在我们看到的wireshark.When客户端重置和发送新数据之间一切都是完美的,wireshark向我展示了传输TCP消息,但是当我调试服务器端时,服务器端得到消息并在客户端接收回送消息后发送回显消息。

为什么重传信息显示,尽管我得到并发送信息给对方?

完整客户端代码:https://paste.ubuntu.com/p/VJHzgv29FM/

完整服务器代码:https://paste.ubuntu.com/p/Wm9gvkSfF7/

代码语言:javascript
复制
/**
  * @brief  Initializes the tcp echo server
  * @param  None
  * @retval None
  */
void tcp_echoserver_init(void)
{
  /* create new tcp pcb */
  tcp_echoserver_pcb = tcp_new();

  if (tcp_echoserver_pcb != NULL)
  {
    err_t err;

    /* bind echo_pcb to port 7 (ECHO protocol) */
    err = tcp_bind(tcp_echoserver_pcb, IP_ADDR_ANY, 7);

    if (err == ERR_OK)
    {
      /* start tcp listening for echo_pcb */
      tcp_echoserver_pcb = tcp_listen(tcp_echoserver_pcb);

      /* initialize LwIP tcp_accept callback function */
      tcp_accept(tcp_echoserver_pcb, tcp_echoserver_accept);
    }
    else
    {
      /* deallocate the pcb */
      memp_free(MEMP_TCP_PCB, tcp_echoserver_pcb);
    }
  }
}

客户端:

代码语言:javascript
复制
/**
  * @brief  Connects to the TCP echo server
  * @param  None
  * @retval None
  */
void tcp_echoclient_connect(void)
{
  ip_addr_t DestIPaddr;
  /* create new tcp pcb */

  echoclient_pcb = tcp_new();

  if (echoclient_pcb != NULL)
  {
    IP4_ADDR(&DestIPaddr, (uint8_t)192, (uint8_t)168, (uint8_t)1, (uint8_t)40);
    /* connect to destination address/port */
    tcp_connect(echoclient_pcb,&DestIPaddr,7,tcp_echoclient_connected);
  }
  else
  {
    SerialPrint("not null");
    memp_free(MEMP_TCP_PCB, echoclient_pcb);
  }  

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-01 08:19:56

当使用wireshark分析网络流时,这里有一个来自wireshark的医生,它可以帮助您理解这些单词的含义。

我们可以看到以下情况:

TCP重传

当下列所有内容都为真时设置:

  • 这不是一个保持生命的包。
  • 在正向上,段长大于零,或者设置SYN或FIN标志。
  • 下一个预期序列号大于当前序列号。

对于您的情况,问题是段长度大于零,或者设置了SYN或FIN标志。这是由您的重置引起的,所以这并不意味着您的TCP连接会导致重传。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65939519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档