witam,
mam problem z napisaniem pewnego programu, powiedzmy, że ma to być coś ala linuksowy wget tylko dużo bardziej okrojony (będę pobierał pliki tylko przez HTTP).
załóżmy, że na potrzeby wytłumaczenia mi jak to mniej więcej zrealizować pobieramy z Internetu tylko obrazki JPEG.
zrealizowanie całego połączenia, utworzenie gniazda do przesyłu danych już mam, ale nie potrafię odpowiednio posłużyć się funkcjami send(), recv(). Trzeba pewnie jeszcze na początku połączenia wysłać nagłówek HTTP do serwera ( coś ala przeglądarka ), ale ja nie umiem tego zrobić, a nie znalazłem podobnych przykładów w Internecie.
Z góry dziękuje za wskazówki!
[C] programowanie gniazd
-
- Piegowaty Guziec
- Posty: 6
- Rejestracja: 03 lut 2006, 21:07
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.10
- Środowisko graficzne: GNOME
- Architektura: x86
Odp: [C] programowanie gniazd
na temat samego protokołu http:
http://jmarshall.com/easy/http/
Jest tam wystarczająco dużo informacji aby samemu napisać klient i serwer(sam na podstawie tego napisałem serwer http)
Co do socketów to poszukaj "Beej?s Guide to Network Programming" (jest gdzieś na necie polskie tłumaczenie)
http://jmarshall.com/easy/http/
Jest tam wystarczająco dużo informacji aby samemu napisać klient i serwer(sam na podstawie tego napisałem serwer http)
Co do socketów to poszukaj "Beej?s Guide to Network Programming" (jest gdzieś na necie polskie tłumaczenie)
- Lechu_
- Sędziwy Jeż
- Posty: 57
- Rejestracja: 28 paź 2009, 20:58
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.04
- Środowisko graficzne: GNOME
- Architektura: x86_64
Odp: [C] programowanie gniazd
Kod: Zaznacz cały
struct sockaddr_in s; //deklaracja struktury na jakim porcie chcmey nasłuchiwać
s.sin_family = AF_INET; //
s.sin_addr.s_addr= ; // deklaracja struktury żeby nasłyuchiwac na wszystkich interfejsach
wpisujemy tu nazwe interfejsu badź INADDR_ANY wtedy będzie nasłuchiwał na wszystkich
s.sin_port=htons(atoi(argv[1]));// ta instrukcja przerobi nam odpowiednio zmienna w której jest numer portu
(przestawi odpowiednio bity)port podany jako argument argumentu
fd = socket(AF_INET,SOCK_STREAM,0); //otwarcie socketa
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 17 gości