免费注册 查看新帖 |

Chinaunix

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

套接字编程的问题,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-15 21:40 |只看该作者 |倒序浏览
setsockopt(sockfd, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof(timeout))
失败
why?
应该怎么搞?
谢谢

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-06-15 22:40 |只看该作者

套接字编程的问题,谢谢

用perror打印出错误原因。

论坛徽章:
0
3 [报告]
发表于 2003-06-16 08:25 |只看该作者

套接字编程的问题,谢谢


  1. int timeout = 1000;
  2. . . .
  3. bread = setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout));
  4.         if (bread < 0) {
  5.                 perror("setsockopt(SO_RCVTIMEO) failed ");
  6.                 exit(1);
  7.         }
复制代码

编译通过
但执行时显示setsockopt(SO_RCVTIMEO) failed : Invalid argument
参数好像没问题呀?

还有一个问题就是  INADDR_NONE  指的是什么?
大虾们请RE
3X

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-06-16 10:22 |只看该作者

套接字编程的问题,谢谢

干嘛,要强制转换成char *,

去掉看看

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-06-16 10:25 |只看该作者

套接字编程的问题,谢谢

INADDR_NONE 主要在inet_addr 这类函数中做错误返回用吧

论坛徽章:
0
6 [报告]
发表于 2003-06-16 10:28 |只看该作者

套接字编程的问题,谢谢

SO_RCVTIMEO选项要的参数是timeval*

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-06-16 10:34 |只看该作者

套接字编程的问题,谢谢

不知道楼主什么环境

论坛徽章:
0
8 [报告]
发表于 2003-06-16 13:34 |只看该作者

套接字编程的问题,谢谢

redhat9.0
gcc
gdb

论坛徽章:
0
9 [报告]
发表于 2007-05-08 13:00 |只看该作者
最后一个参数传错了
struct timeval tv;
iRet2=setsockopt(iClientSock, SOL_SOCKET, SO_SNDTIMEO, (char *)&iSendTimeout, sizeof(tv));
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP