Odwróć kolejność argumentów na socat
i to działa.
socat -v tcp-l:6666,reuseaddr,fork unix:/var/lib/mysql/mysql.sock
To instruuje socat
do
- Słuchaj na porcie TCP 6666 (za pomocą
SO_REUSEADDR
) - Poczekaj na zaakceptowanie połączenia
- Po nawiązaniu połączenia rozwidlenie. W dziecku kontynuuj poniższe kroki. W rodzicu przejdź do 2.
- Otwórz połączenie domeny UNIX z
/var/lib/mysql/mysql.sock
gniazdo. - Przenieś dane między dwoma punktami końcowymi, a następnie wyjdź.
Pisanie na odwrót
socat -v unix:/var/lib/mysql/mysql.sock tcp-l:6666,reuseaddr,fork
nie działa, ponieważ instruuje to socat
do
- Otwórz połączenie domeny UNIX z
/var/lib/mysql/mysql.sock
gniazdo. - Słuchaj na porcie TCP 6666 (za pomocą
SO_REUSEADDR
) - Poczekaj na zaakceptowanie połączenia
- Po nawiązaniu połączenia, spłodź dziecko pracownika, aby przesyłało dane między dwoma adresami.
- Rodzic nadal akceptuje połączenia na drugim adresie, ale nie ma już pierwszego dostępnego adresu:został on przekazany pierwszemu dziecku. Od tego momentu nie można więc zrobić nic pożytecznego.