Ostatnio zacząłem używać tmux; Próbuję użyć funkcji programowania par w tym oprogramowaniu. Podczas tego procesu utworzono plik gniazda. Moje pytanie brzmi: co to są pliki gniazd, jak mogę je otworzyć w Ubuntu i jak są używane?
Ostatnio zacząłem używać tmux; Próbuję użyć funkcji programowania par w tym oprogramowaniu. Podczas tego procesu utworzono plik gniazda. Moje pytanie brzmi: co to są pliki gniazd, jak mogę je otworzyć w Ubuntu i jak są używane?
Odpowiedzi:
Gniazda to specjalny typ plików, podobny do gniazd TCP / IP, zapewniający międzyprocesową sieć chronioną przez kontrolę dostępu do systemu plików.
Na przykład po otwarciu gniazda nasłuchującego w jednym terminalu za pomocą netcat:
nc -lU socket.sock
następnie wyślij dane z innego terminala przez:
echo mytext | nc -U socket.sock
mytext pojawia się na pierwszym terminalu.
Domyślnie nc przestaje nasłuchiwać po znaku końca pliku.
nc.openbsd
, masz nc.traditional
.
Gniazdo domeny unix to potok dwukierunkowy podobny do gniazda TCP / IP. Serwer nasłuchuje i przyjmuje połączenia od klientów, a następnie może komunikować się z klientem na nowo zaakceptowanym połączeniu. Szczególne w gniazdach domeny unix jest to, że zamiast adresu IP i numeru portu, mają nazwę pliku jako adres. Pozwala to innym aplikacjom, które nic nie wiedzą o sieci, na polecenie otwarcia pliku oraz odczytu lub zapisu, a dane są wysyłane na serwer zamiast na dysk.
socket.sock
plik, który utworzyłeś wcześniej? Czy możesz użyć tmux -S i użyć deskryptora pliku gniazda (typowo 3) z jednego z końców gniazda, aby wysłać dane na to gniazdo?