次のコードが常に 0 を返す理由を教えてください。ソケット記述子の値は 3 です。オープンな SUSE TFTP サーバーを使用しています。これは、ローカル ホストのポート 69 でリッスンしています。
connect() 関数は成功を返します ..
connection_timer.tv_sec = 2; // s
connection_timer.tv_usec = 0;
FD_ZERO(&fd_reader);
// laukiam, kol bus ka nuskaityti
FD_SET(socket_descriptor, &fd_reader);
int select_ready = select(socket_descriptor + 1, &fd_reader, NULL, NULL, &connection_timer);
TCPdump を使用してパケットをチェックすると、最初のパケットが送信され、Ack を受信する前にどこかで接続が閉じられます。