Мое приложение создает TCP-соединение. Это работает нормально. Но в одной сети сервер имеет много IP скажем
При вызове TCP-соединения (Не блокируется с тайм-аутом 60 секунд )на IP 174.X.X.X
всегда успех. Но TCP-соединение с тем же сервером с ip 54.x.x.x
не работает (в большинстве случаев )с ошибкой 115 средняя операция в процессе.
Не могли бы вы объяснить мне, какова возможная причина ошибки 115
ОС :Linux
Мой код подключения TCP приведен ниже
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;
}