ソケットプログラミング,select:不正なファイルディスクリプタ
2022-02-28 16:13:47
最初のselectはサーバーのソケットで、接続されたfdを受け入れ、selectを追加した後、selectエラーが発生します...。
セットのいずれかに無効なファイル記述子が指定されました。(おそらく、すでに閉じられたファイル記述子か、エラーが発生したファイル記述子でしょう)。
その理由は、ソケットが誤って閉じられていたことが判明したためです
<スパン という記述もご覧ください。
エラーメッセージは 不正なファイル記述子
その理由は、上記の書き方が間違っていたためです
int ret=SOCKET_ERROR;
fd_set FDRead={0};
struct timeval timeout={0};
FD_ZERO(&FDRead);
FD_SET(sock, &FDRead);
timeout.tv_sec = EPOLL_SERVER_TIME_OUT;
timeout.tv_usec = EPOLL_SERVER_TIME_OUT_MILLSECONDS;
ret = select(sock+1, &FDRead, 0, 0, &timeout);
if(ret == SOCKET_ERROR)
{
break;
}
int ret=SOCKET_ERROR;
fd_set FDRead={0};
struct timeval timeout={0};
FD_ZERO(&FDRead);
FD_SET(sock, &FDRead);
timeout.tv_sec = EPOLL_SERVER_TIME_OUT;
timeout.tv_usec = EPOLL_SERVER_TIME_OUT_MILLSECONDS;
ret = select(sock+1, &FDRead, 0, 0, &timeout);
if(ret == SOCKET_ERROR)
{
break;
}
無関係なソケットイベントを捕捉してはいけない!
関連
-
時間問題をたくさん出してくれた人たち(連続更新)
-
psycopgのアセンブルはエラーになります。Error: pg_config 実行ファイルが見つかりません。
-
警告: 組み込み関数 'exit' の非互換な暗黙の宣言
-
ImportError: pkg_resources という名前のモジュールがない ソリューション
-
VNC mesg を開くとき: ttyname に失敗しました。デバイスに不適切な ioctl
-
Linuxの一般的なコマンドを史上最も完璧にまとめた本(超充実! (超詳しい!)これだけ集めれば十分!?
-
PackagesNotFoundError: 以下のパッケージは、現在のチャネルから利用できません。
-
Linuxでビジー状態のテキストファイルでプログラムを実行する場合の対処法
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
'float' オブジェクトは整数として解釈できません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
"collect2: error: ld returned 1 exit status" の解決法
-
undefinedmakefile:n: *** セパレータがありません。
-
LDAPエラー ldap_bind: 無効な認証情報 (49) 解決策
-
Ubuntu next install nginx,make: *** `default'が必要とする `build' をターゲットとするルールがありません。停止します。
-
これを知らなければ、おそらくLinuxを使い始めてもいないでしょう
-
mach-mini2440.c:155: error: array type has incomplete element type
-
C言語改善
-
LinuxでDNSの正逆解析エラー:** server can't find ?・・・・・・? : NXDOMAIN
-
エラーとなったシェルスクリプトを実行します。"予期しないトークン付近の構文エラーに対する解決策`"
-
pip: コマンドが見つかりません