我的应用程序创建一个TCP连接,这是正常工作。 但在一个网络服务器有很多IP说TCP连接错误115正在进行操作原因是什么?

174.XXX

54.xxx 这样

当调用TCP连接(非60秒超时阻塞) 到IP 174.X.X.X总是成功。 但是TCP连接到ip 54.x.x.x的同一台服务器正在失败(大部分时间),正在进行测量操作。

能否请您给我解释一下什么是错误号115

OS可能的原因是:Linux的

我的TCP conenct代码如下

tcp_connect(......)

{

int iValOpt = 0;

int iLength= 0;

fcnt((int)(long)SockID,F_SETFL_O_NONBLOCK);

ret = connect (sockID,(struct sockaddr*)pstSockAdr,uiSockLen);

if (ret < 0)

{

if (errno == EINPROGRESS)

{

stTv.tv_sec = 60;

stTv.tv_usec = 0;

FD_ZERO(&write_fd);

FD_SET(sockID,&write_fd);

iLength = sizeof(int);

if (0 < select (sockID+1) , NULL,&write_fd,NULL,&stTv);

{

if(0 > getsockopt(sockID,SOL_SOCKET,SO_ERROR,(void*)(&iValOpt),&iLength))

{

return -1

}

if (0 != iValOpt)

{

return -1;

}

return success;

}

else

{

return -1;

}

}

else

{

return -1;

}

}

return success;

}

+0

如果你试图telnet到54.x.x.x IP不使用你的应用程序会发生什么?同样的行为? –

2012-04-18 06:46:10

+0

否,手动腻子应用工作正常 –

2012-04-18 08:12:09

+1

'无阻塞超时'是一个矛盾的术语。 –

2012-04-18 21:44:00

Logo

更多推荐