コードシンペット:
int CreateaTCPSocket()
{
int iSockID = ACE_OS::socket(......);
ACE_OS::set_flags(iSockID,O_NONBLOCK);
ACE_OS::bind();
if (ACE_OS::connect(iSockID ,....) < 0)
{
if (ACE_OS::select(.....,timeout) <= 0)
{
return INVALID_HANDLE;
}
}
return iSockID;
}
私の質問は、非ブロックエラーのために接続が失敗し、selectが呼び出され、select return successと言うと、もう一度connectを呼び出すか、関数internal do connectを選択する必要がありますか?