Portál AbcLinuxu, 10. května 2025 05:33

Dotaz: Jak funguje socket

20.10.2007 22:42 josasbosa
Jak funguje socket
Přečteno: 896×
Odpovědět | Admin
Ahoj. Potreboval bych vytvorit dva skripty, ktery by mezi sebou komunikovaly pres "soubor". Problem je v tom, ze at se koukam do jakychkoliv manualu, uvadeji vytvoreni socketu + portu pro socket. Do ted jsem myslel ze je proste socket a pres ten mezi sebou programy komunikuji. Jakou to ma souvislost s porty? Jak tedy funguje socket?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Luboš Doležel (Doli) avatar 20.10.2007 22:45 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jak funguje socket
Odpovědět | | Sbalit | Link | Blokovat | Admin
Sockety, se kterými se běžně setkáte jsou síťové (IP, IPv6, ...) a tam je port nebo unixové a tam je speciální soubor. Mezi sebou mohou programy komunikovat přes jakýkoliv typ socketu, k tomu to slouží...
20.10.2007 22:52 josasbosa
Rozbalit Rozbalit vše Re: Jak funguje socket
Aha, takze vsechny typy socketu na ktery jsem zatim narazil asi byly sitovy. Muzete mi dat typ na nejakej manual pro perl, kde jsou unixove sockety? Nasel jsem jich spousty jen se sitovymi.
21.10.2007 00:02 ajikdpoe | skóre: 23 | blog: dvh
Rozbalit Rozbalit vše Re: Jak funguje socket
Odpovědět | | Sbalit | Link | Blokovat | Admin
neviem ci dobre rozumiem ale asi mas na mysli toto:
mkfifo aaa
cat > aaa
(sem pis text)
na druhom terminali daj
cat aaa
malo by sa tam zobrazovat to co pises na prvom
21.10.2007 00:44 josasbosa
Rozbalit Rozbalit vše Re: Jak funguje socket
Jo takhle by to bylo asi nejjednodusi. Preci by me ale zajimalo jak pomoci perlu pouzivat sockety (jako napr. pouziva acpid: /var/run/acpid.socket).
21.10.2007 01:00 Tomáš Honzák | skóre: 19 | Praha
Rozbalit Rozbalit vše Re: Jak funguje socket
A google dneska nefunguje?

http://www.google.com/search?q=perl+unix+socket

hned prvni odkaz vypada jako zcela postacujici odpoved.
21.10.2007 08:02 pht
Rozbalit Rozbalit vše Re: Jak funguje socket

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/).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.