Wszystkie materiały są jednak dosyć ciężko napisane i nie mogę się połapać, a w dodatku przykładowe programy też nie zawsze działają. Posiada ktoś jakieś dobre materiały napisane w miarę przystępnym językiem? Może być po angielsku


Kod: Zaznacz cały
#include <cstdio>
#include <cstdlib>
#include <string>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
int main(void) {
int s, result;
struct sockaddr_in taddr;
char zapytanie[] = "GET / HTTP/1.1\nHost: www.google.pl\n\n";
char odp[2048];
/* Tworzenie gniazda */
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s < 0) {
perror("socket");
return 1;
}
/* Zerowanie struktury adresowej */
memset(&taddr, 0, sizeof(struct sockaddr));
/* Wypelnianie struktury adresem docelowym */
taddr.sin_family = AF_INET;
taddr.sin_port = htons(80);
taddr.sin_addr.s_addr = inet_addr("72.14.207.99");
/* Laczenie z serwerem */
result = connect(s, (struct sockaddr*)&taddr, sizeof(struct sockaddr));
if (result < 0) {
close(s);
perror("connect");
return 1;
}
/* Wymiana danych */
send(s, zapytanie, strlen(zapytanie), 0);
recv(s, odp, 2048, 0);
printf("Odpowiedz serwera: %s", odp);
/* Zamkniecie gniazda */
close(s);
return 0;
}
Kod: Zaznacz cały
recv(s, odp, 2048, 0);
Kod: Zaznacz cały
man 2 recv
Kod: Zaznacz cały
man 2 read
Kod: Zaznacz cały
char buffer[BUFFER_SIZE];
size_t bytes_read = read (s, buffer, BUFFER_SIZE);
while (bytes_read > 0) {
fprintf (buffer, 1, bytes_read, stdout); /* Wypisanie danych na ekran */
bytes_read = read (s, buffer, BUFFER_SIZE); /* Pobranie nowych danych */
}
cout znajduje się w przestrzeni nazw std, więc trzeba albo odwoływać się do std::cout, albo gdzieś na górze programu dopisać "using namespace std;", wtedy wszystki symbole z przestrzeni std będą dostępne w głównej przestrzni nazw.kompilator wyrzuca brak deklaracji elementu cout?
Richard Stevens, Programowanie usług sieciowych to jedyne co mi przychodzi do głowy.mardhuk pisze:Ja chciałbym dla odmiany zapytać o jakąś dobrą książkę o socketach (oczywiście w kontekście linuxa), dostępną w języku polskim najlepiej (wyłączając ksiązkę Warrena, której nigdzie nie mogłem znaleźć)
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości