你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

FreeRTOS LwIP TCP server线程

[复制链接]
captainliuy 提问时间:2016-9-9 14:32 /
本帖最后由 captainliuy 于 2016-9-9 14:58 编辑

启动任务调用如下函数建立了一个server线程void tcp_server_init(void)
{
      sys_thread_new("tcp_server", tcp_server_thread, NULL, DEFAULT_THREAD_STACKSIZE, TCPECHO_THREAD_PRIO);
}
线程函数如下:static void tcp_server_thread(void *arg)
{
  int sock, newconn, size;
  struct sockaddr_in address, remotehost;

  LWIP_UNUSED_ARG(arg);

  /* create a TCP socket */
  if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
  {
    return;
  }

  /* bind to port 80 at any interface */
  address.sin_family = AF_INET;
  address.sin_port = htons(80);
  address.sin_addr.s_addr = INADDR_ANY;

  if (bind(sock, (struct sockaddr *)&address, sizeof (address)) < 0)
  {
    return;
  }

  /* listen for incoming connections (TCP listen backlog = 5) */
  listen(sock, 5);

  size = sizeof(remotehost);

  while (1)
  {
    newconn = accept(sock, (struct sockaddr *)&remotehost, (socklen_t *)&size);
    http_server_serve(newconn);
  }
}


在调用socket和bind函数的过程失败后都有return,任务return不是会出问题吗?


收藏 1 评论1 发布时间:2016-9-9 14:32

举报

1个回答
高二毛 回答时间:2016-9-10 14:29:34
你可以修改修改的。或者试试加上这个return有什么问题。多试试。。。。
你可以再lwip重故意返回一个错误值试试。经验就是这么积累起来的,不是问出来的。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版