La mia applicazione crea una connessione TCP, funziona normalmente. Ma in un server di rete è dire molti IPErrore di connessione TCP 115 Funzionamento in corso Qual è la causa?
- 174.XXX
- 54.xxx come questo
Quando TCP chiama connect (non bloccante con timeout di 60 secondi) a IP 174.X.X.X
è sempre successo. Ma il TCP si connette allo stesso server con IP 54.x.x.x
non funziona (la maggior parte delle volte) con errno 115 operazione measn in corso.
Si può spiegare a me che cosa sono la ragione possibile per errno 115
SO: Linux
mio TCP codice Conenct è come sotto
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;
}
Che cosa succede se si tenta di telnet al IP 54.x.x.x senza usare l'applicazione? Lo stesso comportamento? –
no, l'applicazione di stucco manuale funziona bene – user1340512
'Non bloccare con un timeout' è una contraddizione in termini. – EJP