我的應用程序創建一個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;
}
如果你試圖telnet到54.x.x.x IP不使用你的應用程序會發生什麼?同樣的行爲? – 2012-04-18 06:46:10
否,手動膩子應用工作正常 – user1340512 2012-04-18 08:12:09
'無阻塞超時'是一個矛盾的術語。 – EJP 2012-04-18 21:44:00