uip_listen()函数不等待监听连接 - uIP的图书馆(uip_listen() func

2019-11-03 05:16发布

我目前深化发展执行爱特梅尔微控制器AT91SAM7X256,和我的Windows机器之间的TCP / IP通信的应用。

我已经成功地编译和链接uIP的标准库,以我的应用程序。 uIP的功能越来越被应用程序识别,但是我的主要做,应用程序的第一件事就是听一个连接请求的端口51719是:

#include <stdio.h>
#include "uip.h"
#define UIP_APPCALL client_app

int main(void) 
{
  printf("Hello World ");

  uip_init();

  printf("Establishing connection\n");
  uip_listen(HTONS(51719));

  if(uip_connected())
  {
        printf("Connection established\n");
  }

  return 0;
}

但该计划似乎跳过听力部分,因为它只是打印Hello World,并建立退出之前连接。 我本来以为,因为那uip_listen()函数,该程序会进入一种等待的连接请求无限循环的(就是完整的堆栈TCP / IP库,Winsock的,是如何处理的东西)。

这是不听使用的uIP库某个端口上的连接的正确方法? 我将不胜感激任何帮助!

UPDATE

我试着插入在聆听while循环:

printf("Establishing connection\n");

int c;

  while(1)
  {
    uip_listen(HTONS(51719));
    if(c = uip_connected() != 0)
    {
      printf("Connection established\n");
      break;
    }

但它仍然不会从remost主机连接。
}

文章来源: uip_listen() function not waiting to listen for connections - uIP library