嗨,現在即時通訊試圖瞭解客戶端或服務器斷開連接,然後發送錯誤,但我似乎無法使它工作,我不知道如何做到這一點,所以我真的需要幫助plzFD_SET問題/網絡
這裏是我的代碼
#ifdef _WIN32 || _WIN64
if(select(0,&fd_read,NULL,&fd_close,&time)==-1){
printf("Error in Select()");
return 0;
}
#else
if(select(sockMax + 1,&fd_read,NULL,&fd_close,&time)==-1){
printf("Error in Select()");
return 0;
}
#endif
if(FD_ISSET(socklisten,&fd_read)){
}
else
{
dopack(&pkt);
send(socklisten, (char*)&pkt, sizeof(pack), 0);
}
//this is where the error shows -----------
if(FD_SET(socklisten,&fd_close))
{
backtoMenu = true;
}
FD_ZERO(&fd_leer);
FD_SET(sockEscucha,&fd_leer);
錯誤稱預期主表達式前「做」 所以是的,我有不知道這意味着什麼 以防萬一,這是IM聲明FD_READ以及如何FD_CLOSE
fd_set fd_read;
fd_set fd_close;
PLZ任何幫助將非常感激tyvm
繼續刪除代碼,直到它工作,然後開始添加回來,直到它破壞。然後你會知道什麼是錯的。 –
我知道什麼是錯的if(FD_SET(socklisten,&fd_close))其他代碼的作品完美 – Makenshi