Forum » Programiranje » Delo z omrezjem v linuxu
Delo z omrezjem v linuxu
epic21 ::
Kaj bi mi lahko kdo prosim pomagal pri enem problemu:
Napišite program telnet, ki vse kar prebere iz standardnega vhoda pošlje na strežnik, vse kar strežnik odgovori pa izpiše na standardni izhod. Ime strežnika in vrata se podajo kot argument ukazne vrstice. Poenostavitev: predpostavite lahko, da v zanki najprej berete iz standardnega vhoda, pišete na strežnik, berete s strežnika in izpišete na zaslon. Za pisanje in branje s strežnika uporabite funkciji send in recv.
Primer uporabe:
$. /mojtelnet www. Google. Com 80
Napišite program telnet, ki vse kar prebere iz standardnega vhoda pošlje na strežnik, vse kar strežnik odgovori pa izpiše na standardni izhod. Ime strežnika in vrata se podajo kot argument ukazne vrstice. Poenostavitev: predpostavite lahko, da v zanki najprej berete iz standardnega vhoda, pišete na strežnik, berete s strežnika in izpišete na zaslon. Za pisanje in branje s strežnika uporabite funkciji send in recv.
Primer uporabe:
$. /mojtelnet www. Google. Com 80
Hvala vsem ki mi odgovarjate!!!
- polepsalo: OwcA ()
64202 ::
Ce se gre za C, potem preberi tole:
Beej's Guide to Network Programming
V npr. perlu je pa to trivialno (skoraj ena vrstica ).
Beej's Guide to Network Programming
V npr. perlu je pa to trivialno (skoraj ena vrstica ).
epic21 ::
Ja to je v c-ju ja!
Ja to sem ze gledal pa mi ni blo ravno jasno kako bi to naredil, pa nevem zakaj?
Ja to sem ze gledal pa mi ni blo ravno jasno kako bi to naredil, pa nevem zakaj?
Hvala vsem ki mi odgovarjate!!!
Zgodovina sprememb…
- polepsal: Predator ()
CCfly ::
Kaj praviš če bi se malo potrudil in tole domačo nalogo naredil sam ? Naredi dva programčka, enega ki posluša na socketu in vse kar prejme izpiše, drugega pa ki spiše na socket vse iz standardnega vhoda in stvar je rešena.
"My goodness, we forgot generics!" -- Danny Kalev
epic21 ::
Ja saj bi samo problem je če ne znaš, pa se že celi tedn trudiš!!!
Hvala vsem ki mi odgovarjate!!!
CCfly ::
Kaj si dosedaj naredil in kje se ti je zataknilo ?
"My goodness, we forgot generics!" -- Danny Kalev
epic21 ::
Tukaj so knjiznice
Tukaj je moja koda pa nevem kaj je narobe
int main(int argc, char** argv) { struct sockaddr_in my_addr; int serversocket = socket(AF_INET, SOCK_STREAM, 0); /* do some error checking! */ int nread; int stevilo; my_addr.sin_family = AF_INET; /* host byte order */ my_addr.sin_port = htons(atoi(argv[1])); /* short, network byte order */ my_addr.sin_addr.s_addr = inet_addr("0.0.0.0"); bzero(&(my_addr.sin_zero), 8); /* zero the rest of the struct */ /* don't forget your error checking for bind(): */ if (bind(serversocket, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))==-1) { perror("Cannot bind"); } listen(serversocket, 10); while (1) { struct sockaddr client_addr; socklen_t size = sizeof(client_addr); int clientfd = accept(serversocket, &client_addr, &size); // tukaj more biti nekaj takega! while (nvrite = read(0, buf, 512)) > 0) { send (socketfd, buf, st, 0); stevilo = recv (socketfd, buf, 512, 0); write (1, buf, nvrite); } close(clientfd); } return 0; }
Tukaj je moja koda pa nevem kaj je narobe
Hvala vsem ki mi odgovarjate!!!
Zgodovina sprememb…
- spremenilo: CCfly ()
CCfly ::
Oprosti ampak lenoba si. Tole ni delo enega tedna temveč 15 minut brskanja po internetnih straneh in copy/paste rutine. Če bi imel vsaj ščepec volje bi takoj videl svojo zmoto (kako si predstavljaš da boš poslušal na socketu in hkrati v isti funkciji/istem procesu/isti niti tudi pošiljal podatke na ta isti socket). Prvi del kode gre v server, drugi del kode pa v odjemalca.
Poglej si tole poglavje v že prilepljeni povezavi in imitiraj:
http://www.ecst.csuchico.edu/~beej/guide/net/html/clientserver.html
Naj ti namignem, da tvoja naloga zahteva precej manj od kode.
Poglej si tole poglavje v že prilepljeni povezavi in imitiraj:
http://www.ecst.csuchico.edu/~beej/guide/net/html/clientserver.html
Naj ti namignem, da tvoja naloga zahteva precej manj od kode.
"My goodness, we forgot generics!" -- Danny Kalev
CCfly ::
V bistvu res ne samo recimo z netcatom mora biti priklopljen na ustrezen port.
"My goodness, we forgot generics!" -- Danny Kalev
Zgodovina sprememb…
- spremenilo: CCfly ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c] ne sprejme UDP paketaOddelek: Programiranje | 983 (571) | slovencl |
» | [C++] bindOddelek: Programiranje | 1450 (1228) | fiction |
» | SMTP v c -juOddelek: Programiranje | 2119 (1260) | BigWhale |
» | C: connect() funkcija, kako nastaviti timeoutOddelek: Programiranje | 1767 (1548) | fefko-the-bulldog |
» | Casovni problem v C/C++Oddelek: Programiranje | 1255 (1156) | sid_dabster |