WINCE使用setsockopt()函数问题

fjbfei 2015-12-30 04:55:24
在WINCE5.0环境下,调用setsockopt()函数实现recv超时处理时出错。
运行后setsockopt()执行失败,错误码10042,调用中指定了一个未知、 无效,或不受支持的选项或级别。
请问是由于Ws2.lib的原因吗?请问针对这个问题有解决方式吗?
(ps:当然recv超时处理的方式有很多,此处想问一下setsockopt函数的处理方式)
非常感谢!
部分代码如下:

    WSAStartup(MAKEWORD(1,1),&wsaData);

Server_Sock=socket(AF_INET,SOCK_STREAM,0);
Server_Addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//INADDR_ANY表示任何IP
Server_Addr.sin_family=AF_INET;
Server_Addr.sin_port=htons(Socket_Port);//绑定端口

bind(Server_Sock,(SOCKADDR*)&Server_Addr,sizeof(SOCKADDR)) ;
listen(Server_Sock,1) ;

accept(Server_Sock,(SOCKADDR*)&Client_Addr,&len);
Sleep(1000);

int delay = 1000;
g_inttest = setsockopt(Client_Sock,SOL_SOCKET,SO_RCVTIMEO,(char *)&delay,sizeof(int)); //设置接收延时
if (g_inttest <0 )
{
g_inttest = WSAGetLastError();
}

...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
91program 2015-12-31
  • 打赏
  • 举报
回复
请查 MSDN for 智能设备开发部分,例如: The following list shows BSD options that are not supported for setsockopt . SO_ACCEPTCONN SO_RCVLOWAT SO_RCVTIMEO SO_SNDLOWAT SO_SNDTIMEO SO_TYPE
fjbfei 2015-12-30
  • 打赏
  • 举报
回复
第一次发帖,求各路大神支持哦

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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