Article View: pl.comp.os.linux.programowanie
Article #60460Re: serwer i klient (programowanie gniazd)
From: Krzysztof Rudnik
Date: Tue, 15 Nov 2005 07:21
Date: Tue, 15 Nov 2005 07:21
49 lines
2585 bytes
2585 bytes
kreska wrote: > Witam. > Mam problem z napisaniem programow, z ktorych jeden ma byc serwerem tcp a > drugi klientem, ktory sie z nim laczy. Udalo mi sie napisac klienta ktory > sie laczy z serwerem na adresie "127.0.0.1" przez port 555, ale po Zeby postawic serwer na porcie < 1024 trzeba byc rootem - troche niebezpieczne na zabawy. > pierwsze programy dzialaja tylko uruchamiane na jednym komputerze, nie > wiem co zrobic zeby dzialaly na dwoch roznych (jak zmieniam adres to pisze > ze zly adres > :( ), a po drugie czesto gdy uruchamiam serwer po raz drugi pisze mi > komuniakt, ze adres jest zajety (po jakims czasie dziala znow dobrze). To jest normalne - oprogramowanie sieciowe przez jakis czas trzyma jeszcze otwarte gniazdko, by ewentualne 'zablakane, stare pakiety' byly ladnie pomijane i nie wplynely do ewentualnego nowo utworzonego gniazdka. > Generlanie czy ktos moglby mi podpowiedziec konkretnie skad mam wziac > wartosc adresu i jaki port wybrac (czy to ma znaczenie?). Proponuje port powyzej 1024. A szczegoly - plik /etc/services zawiera liste portow uzywanych przez rozne uslugi, a polecenie netstat -at listuje otwarte gniazdka (mozna dodac opcje n byl adresy i porty wypisac jako liczby i nie szukac w DNS). Ogolnie polecam netstat w czasie uruchamiania programow sieciowych. No i jeszcze jakis sniffer. A adres - no taki jakie masz na dostepnych komputerach. Strone kliencka mozesz testowac na jakims z publicznych serwerow, w sumie dowolnych uslug (np. http - port 80). Serwer mozna testowac nawet telnetem albo nc. Jest jeszcze jedna, prosta metoda napisania serwera - inetd. Piszesz wtedy normalny program komunikujacy sie przez standardowe we/wy (stdin, stdout) i odpowiednio konfigurujesz inetd czy co tam masz i ten inetd sam uruchomi twoj program w momencie nawiazania polaczenia. > Pomozcie prosze > > kreska -- Krzysiek Rudnik
Technical Details
Message-ID:
<4379854c$0$5421$f69f905@mamut2.aster.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.astercity.net!news.aster.pl!not-for-mailReferences:
<d29d8$4378f38f$d4ba89c3$12770@news.chello.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.astercity.net!news.aster.pl!not-for-mail Message-ID: <4379854c$0$5421$f69f905@mamut2.aster.pl> From: Krzysztof Rudnik <rudnik@kki.net.pl> Subject: Re: serwer i klient (programowanie gniazd) Newsgroups: pl.comp.os.linux.programowanie Date: Tue, 15 Nov 2005 08:21:11 +0100 References: <d29d8$4378f38f$d4ba89c3$12770@news.chello.pl> User-Agent: KNode/0.8.0 MIME-Version: 1.0 Lines: 50 NNTP-Posting-Date: 15 Nov 2005 06:50:52 GMT NNTP-Posting-Host: 10.70.23.98 X-Trace: 1132037452 mamut2.aster.pl 5421 10.70.23.98:32781 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit