でと呼ばれるには、以下の問題を得ました。しかしselectは、ソケットに「クライアント切断」などのエラーが発生した場合でもクライアント(インデックスはFD_SET)を返します。)(RECV前にエラーをチェック
recv()を呼び出さずにソケットをチェックすることは可能ですか?
int ret = recv(client, buffer_pool->get(), BUFFER_SIZE, 0);
if(ret == -1) ... // something went wrong
さて、私は再びバッファを解放する必要があり、それはかなり無駄だった:私は「バッファプール」
サンプル・コードのうちのバッファを取得する必要が受信するので、私のプールの1つのバッファの
(短時間)だから、RECV()
残念ながらERR_CODEが毎回0である、また、(RECV場合は)0(エラー) – Aurus
@Aurusを返します。 0を返し、recvが0を返したら、おそらくEOFが返ってきます(つまり、相手側が接続を閉じたとします)。 –
でも、クライアント接続がまだ生存している場合は0になります。 – Aurus