unixware里面,如何设定socket接收超时?

qdh2002 2003-07-29 01:47:26
在unixware里面,如何象在aix,windows上面,利用setsockopt里面的接收超时方式控制socket的接收和发送超时??谢谢。

我在unixware下,把aix上的代码移植过去,编译没有问题,但运行时,报参数错误。

struct timeval svTimeOut;
svTimeOut.tv_sec=CONTROL_SOCKET_RECV_TIMEOUT; //设置接收超时
svTimeOut.tv_usec=0;

if(setsockopt(sClient,SOL_SOCKET,SO_RCVTIMEO,(char *)&svTimeOut,sizeof(svTimeOut))==SOCKET_ERROR)
{
sprintf(szDebugMsg,"PID=%d,设置socket接收超时的参数时错误:%s\n",getpid(),strerror(errno));
SendToSyslog(string(szDebugMsg));
}
...全文
45 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
铖邑 2003-07-29
  • 打赏
  • 举报
回复
恐怕UNIXWARE和SCO UNIX一样不支持超时参数选项,可以用定时信号处理。
alarm(5);
recv(...);

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧