OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6275|回复: 7

在用LWIP socket编程的时候,出现了错误,具体看正文

[复制链接]

31

主题

130

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2015-6-28
在线时间
139 小时
发表于 2016-4-30 14:26:12 | 显示全部楼层 |阅读模式
1金钱
Assertion "sock != NULL" failed at line 1157 in ..\LWIP\lwip-1.4.1\src\api\sockets.1157:        LWIP_ASSERT("sock != NULL", sock != NULL);

Assertion "sock != NULL" failed at line 1189 in ..\LWIP\lwip-1.4.1\src\api\sockets.c


1189:LWIP_ASSERT("sock != NULL", sock != NULL);

1157和1189行对应的函数是lwip_select()

Assertion "netconn_accept: invalid acceptmbox" failed at line 289 in ..\LWIP\lwip-1.4.1\src\api\api_lib.c
289行对应的是  LWIP_ERROR("netconn_accept: invalid acceptmbox", sys_mbox_valid(&conn->acceptmbox),   return ERR_ARG;);
这意思是接收到无用的邮箱?


看了F4开发A盘里面的LWIP资料,有说到LWIP 的SOCKET没有完善,不应该用在实际编程。。。
现在我是不懂如何找这上面的错误,请大家给点意见,思路


最佳答案

查看完整内容[请看2#楼]

查不出,已经放弃
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

130

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2015-6-28
在线时间
139 小时
 楼主| 发表于 2016-4-30 14:26:13 | 显示全部楼层
回复

使用道具 举报

31

主题

130

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2015-6-28
在线时间
139 小时
 楼主| 发表于 2016-4-30 20:19:24 | 显示全部楼层
看都没几个人看。。。。有没有LWIP勘误手册
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-5-1 10:54:33 | 显示全部楼层
帮顶
回复

使用道具 举报

31

主题

130

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2015-6-28
在线时间
139 小时
 楼主| 发表于 2016-5-1 12:42:09 | 显示全部楼层
回复

使用道具 举报

2

主题

1436

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2209
金钱
2209
注册时间
2010-12-16
在线时间
190 小时
发表于 2016-5-2 23:16:02 | 显示全部楼层
断言失败 , 意思是跑到那个位置 , 理论上 sock != NULL 是成立的 , 但结果不成立 . 原因就要往回跟踪代码了 .
第二句是检查参数 , 并且文字说明了断言失败的原因 , 具体还是要往回查代码 .
回复

使用道具 举报

93

主题

745

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1843
金钱
1843
注册时间
2012-9-16
在线时间
285 小时
发表于 2020-7-16 16:32:22 | 显示全部楼层
sock == NULL了吧,你仔细查查配置过程,还有看看socket开启了吗?
纵浪大化中,不喜亦不惧;应尽便须尽,无复独多虑!
回复

使用道具 举报

8

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2015-7-21
在线时间
18 小时
发表于 2020-8-18 16:09:19 | 显示全部楼层
sock = socket(AF_INET, SOCK_STREAM, 0)
connect(sock, (struct sockaddr *)&address, sizeof(address))
read(sock, &rec_buffer[0], sizeof(rec_buffer));

客户端用这三个函数就行了,服务端的话用bind,listen
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 14:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表