[解決済み] 要求されたアドレスが割り当てられない - 考えられる原因は?
2022-03-03 07:54:26
質問
マスターサーバと分散配置されたスレーブサーバで構成されるプログラムがあります。スレーブサーバはサーバに状態を送信し、一定期間特定のスレーブから連絡がない場合、そのスレーブをダウンとしてマークします。これは一貫して起こっています。
ログを調査したところ、スレーブはサーバーに1回だけステータスアップデートを送ることができ、その後、別のアップデートを送ることができず、常にconnect()の呼び出しで失敗していることがわかりました "Cannot assign requested address (99)。
奇妙なことに、スレーブはサーバに他のいくつかの更新を送信することができ、すべての接続は同じポートで起こっています。この失敗の最も一般的な原因は、接続が開かれたままになっていることのようですが、開かれたままになっているものを見つけるのに苦労しています。他に考えられる説明はありますか?
はっきり言って、私の接続方法は以下の通りです。
struct sockaddr *sa; // parameter
size_t sa_size; //parameter
int i = 1;
int stream;
stream = socket(AF_INET,SOCK_STREAM,0);
setsockopt(stream,SOL_SOCKET,SO_REUSEADDR,&i,sizeof(i));
bindresvport(stream,NULL);
connect(stream,sa,sa_size);
このコードは、他のサーバーへの接続を取得する関数の中にあり、これら4つの呼び出しのいずれかに失敗すると、その関数は失敗する。
解決方法は?
SO_REUSEADDRが役に立つかも? http://www.unixguide.net/network/socketfaq/4.5.shtml
関連
-
[解決済み】単項演算子「*」の型が無効(「int」がある)C言語でのエラー
-
[解決済み] (.text+0x20): `main'への未定義の参照と関数への未定義の参照
-
[解決済み】式は、単純なポインタ演算を使用して完全なオブジェクト型へのポインタでなければなりません【重複】。
-
[解決済み】ポインタへの代入時に互換性のないポインタ型からの初期化警告が発生した
-
[解決済み】LEALアセンブリ命令は何をするのですか?
-
[解決済み】「構造体でもユニオンでもないものにメンバー'*******'を要求する」とはどういう意味ですか?
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み】警告:式の結果が未使用の場合
-
[解決済み] ServerSocket.socketBindを使用して要求されたアドレスを割り当てることができない
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:cの入力の最後に期待される宣言またはステートメント
-
[解決済み】strcmpが機能しない
-
[解決済み] Connect: ソケット以外でのソケット操作
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み] [Solved] なぜこのようなエラーが発生するのでしょうか。「データ定義に型またはストレージクラスがない」?
-
[解決済み】エラー。非スカラー型への変換を要求された
-
[解決済み】MPI通信でMPI_Bcastを使用する場合
-
[解決済み】エラー:呼び出されたオブジェクトは、関数または関数ポインタではない
-
[解決済み】C言語でpow( )への未定義参照、math.hを含むにもかかわらず【重複】。