Linuxで2組のコード(server.c
と)を書きました。client.c
1つはUNIXドメイン用、もう1つAF_UNIX
はインターネットドメイン用AF_INET
です。どちらも正常に動作しています!
listen()
バックログキューの長さ=3で呼び出されますboth servers
listen(sockfd, 3);
UNIXドメイン(AF_UNIX) の場合:1つのクライアントがサーバーに接続されているときに、さらに多くのクライアントをサーバーに接続しようとすると。3つはキューに入れられ、4つ目の要求は拒否されます。(私が望むように-待機キューに3つ)。
INTERNETドメイン(AF_INET)の場合: 3つを超える要求は保留中のキューに保持されます。
バックログキューの長さが3の場合でも、4番目のクライアントからの要求が拒否されないのはなぜですか。そして、なぜ(そして他の)プロトコルの振る舞いがlisten()
依存しているのですか?