Keer de volgorde van je argumenten om naar socat
, en het werkt.
socat -v tcp-l:6666,reuseaddr,fork unix:/var/lib/mysql/mysql.sock
Dit instrueert socat
naar
- Luister op TCP-poort 6666 (met
SO_REUSEADDR
) - Wacht om een verbinding te accepteren
- Als er een verbinding tot stand is gebracht, vork. Ga bij het kind verder met de onderstaande stappen. Ga in de bovenliggende pagina naar 2.
- Open een UNIX-domeinverbinding met de
/var/lib/mysql/mysql.sock
stopcontact. - Verplaats gegevens tussen de twee eindpunten en sluit af.
Schrijf het andersom
socat -v unix:/var/lib/mysql/mysql.sock tcp-l:6666,reuseaddr,fork
werkt niet, omdat dit socat
. instrueert naar
- Open een UNIX-domeinverbinding met de
/var/lib/mysql/mysql.sock
stopcontact. - Luister op TCP-poort 6666 (met
SO_REUSEADDR
) - Wacht om een verbinding te accepteren
- Als er een verbinding tot stand is gebracht, spawn je een worker-kind om gegevens tussen de twee adressen over te dragen.
- De ouder blijft verbindingen accepteren op het tweede adres, maar heeft niet langer het eerste adres beschikbaar:het is aan het eerste kind gegeven. Dus vanaf dit punt kan er niets nuttigs meer worden gedaan.