Portál AbcLinuxu, 10. května 2025 05:33
mkfifo aaa cat > aaa (sem pis text)na druhom terminali daj
cat aaamalo by sa tam zobrazovat to co pises na prvom
Rozdil mezi socketem (UNIX socketem, ted pomineme bezne TCP/IP sockety) a rourou je v tom, ze roura je jednosmerna (jeden proces zapisuje a druhy cte) zatimco socket je obousmerny. Navic socket lze efekivne pouzit pro komunikaci s vice procesy najednou. Oboje muze existovat s nebo bez linku v souborovem systemu (tj. jako pojmenovany soubor nebo anonymne).
Napriklad pokud spustim cat /etc/passwd | tac
tak ta roura mezi procesy bude anonymni. Stejneho efektu dosahnu pomoci mkfifo /tmp/bla; (tac /tmp/bla &); cat /etc/passwd > /tmp/bla
. U socketu se pojmenovany socket vytvori funkci socket
, nepojmenovany pomoci socketpair
.
Chces se podivat na http://perldoc.perl.org/perlipc.html#Sockets%3a-Client%2fServer-Communication kde je popsano jak funguje socket v domene TCP/IP i v domene UNIX; pak je tam odkaz na modul IO::Socket, ktery si najdes na CPANu (http://search.cpan.org/).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.