ソケットを長時間「保持」すると、新しいソケットが作成される可能性があります。

ソケットを長時間「保持」すると、新しいソケットが作成される可能性があります。

以下を介してソケットに接続しますnc -U

user@node:~$ sudo nc -U service\@name.18822.sock
user@node:~$ xmpp.status
user@node:~$ connected

この接続を長時間開いたままにしておくと、CLIに戻って新しいソケットが作成されます。次のようにコマンドをソケットにエコーすると:

echo xmpp.status | sudo nc -U service\@name.18822.sock

これにより、新しいソケットは作成されません。プロセスにあまり関係がなく、Unix / Linuxの内部に近いと思うので、これらの動作が存在する理由は疑問に思います。

答え1

Unixソケットには自動的に接続を閉じる機能はありません。サーバーまたはクライアントはそれを閉じる必要があります。 Netcatに-w記載されているオプションがあります。手動:

接続と stdin がタイムアウト秒より長くアイドル状態の場合、接続は自動的に閉じます。 -w フラグは -l オプションには影響しません。つまり、nc は -w フラグがあるかどうかにかかわらず、常に接続を受け取ります。デフォルトはタイムアウトなしです。

ただし、このオプションは指定されていないため、netcatはデフォルトで無期限に接続を開いたままにします。

多くのサーバーが接続に対して暗黙のタイムアウトを設定します。これは、誤って作成されたクライアントがリソースを噛むのを防ぐためです。または、接続しているサーバーがリセットされている可能性があります。これにより、すべての接続が閉じられます。

あなたの質問によると、このポートが正確に何であるかわかりません。しかし、簡単に言えば、これはLinux / Unixの問題ではなくxmppの問題です。

関連情報