引数の順序を逆にしてsocat
、そしてそれは機能します。
socat -v tcp-l:6666,reuseaddr,fork unix:/var/lib/mysql/mysql.sock
これはsocat
に指示します に
- TCPポート6666でリッスンします(
SO_REUSEADDR
を使用) ) - 接続を受け入れるのを待ちます
- 接続が確立されたら、フォークします。お子様の場合は、以下の手順を続けてください。親で、2に移動します。
-
/var/lib/mysql/mysql.sock
へのUNIXドメイン接続を開きます ソケット。 - 2つのエンドポイント間でデータを転送してから、終了します。
逆に書く
socat -v unix:/var/lib/mysql/mysql.sock tcp-l:6666,reuseaddr,fork
これはsocat
に指示するため、機能しません に
-
/var/lib/mysql/mysql.sock
へのUNIXドメイン接続を開きます ソケット。 - TCPポート6666でリッスンします(
SO_REUSEADDR
を使用) ) - 接続を受け入れるのを待ちます
- 接続が確立されると、ワーカーの子を生成して2つのアドレス間でデータを転送します。
- 親は引き続き2番目のアドレスで接続を受け入れますが、最初のアドレスは使用できなくなります。最初の子に与えられました。したがって、この時点からは何も役に立ちません。