免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1936 | 回复: 6
打印 上一主题 下一主题

socket编程问题求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-27 16:07 |只看该作者 |倒序浏览
当我调用recv函数时出现错误,我用perror将错误找出来,显示为:Bad address,请大家帮忙,为什么出现这个错误,怎样修改

论坛徽章:
0
2 [报告]
发表于 2003-02-27 17:20 |只看该作者

socket编程问题求教

不会吧,RECV的出错信息中好像根本就没这一条,是不是其它地方出错了,errno还是其它地方的出错号

论坛徽章:
0
3 [报告]
发表于 2003-02-27 18:52 |只看该作者

socket编程问题求教

[quote]原帖由 "Brian780613"]当我调用recv函数时出现错误,我用perror将错误找出来,显示为:Bad address,请大家帮忙,为什么出现这个错误,怎样修改[/quote 发表:


  应该是EFAULT错误,该错误manual描述如下:

  EFAULT The  receive  buffer  pointer(s)  point  outside  the  process's address space.

  应该是你的接收缓冲区有问题,呵呵。

论坛徽章:
0
4 [报告]
发表于 2003-02-28 15:51 |只看该作者

socket编程问题求教

真是高手!我就是接受缓冲区出问题,我是这样定义的
unsigned char *buff;
recv(sock,buff,8,0);
.......
这样就出现错误,但我做如下改动就可以了
unsigned char buff[100];
--------------------------------------------------
为什么会出现问题?
我在unsigned char *buff下加了
memset(buff,0x00,100);
调试时还是出现错误,提示为memery fault -core dump

论坛徽章:
0
5 [报告]
发表于 2003-02-28 15:53 |只看该作者

socket编程问题求教

忘记了给buff分配空间了

论坛徽章:
0
6 [报告]
发表于 2003-02-28 15:57 |只看该作者

socket编程问题求教

oh, unicorns兄已经回答了!

论坛徽章:
0
7 [报告]
发表于 2003-02-28 16:32 |只看该作者

socket编程问题求教

这种错误是连接已经不存在了。找不到文件描述符
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP