Сокеты в C++, Windows. Хотелось бы разобраться с данным типом передачи данных. Пример такой-же работы из PHP. PHP: $fp = fsockopen ('forum.antichat.net', '80'); fputs ($fp, 'GET /member.php?u=124496 HTTP/1.1 Host: forum.antichat.net'."\r\n\r\n"); while (!feof($fp)) { echo fgets ($fp,128); } fclose ($fp);
эти сокеты в пхп это не сами сокеты операционной системы, это обертка над ними В общем так: если кодишь под определенную ос то используй сокеты предоставляемые API этой системы. В винде например это либа winsock. Тогда гугли С++ Winsock, или почитай статьи слэша, он наиболее просто и понятно это объяснил. Если используешь кроссплатформенный фрэймворк типа Qt то там должны быть свои обертки над сокетами.
Code: #include <windows.h> #include <winsock.h> #include <iostream> #pragma comment(lib,"wsock32.lib") int main(int argv,char *argc[]) { SOCKET sock; sockaddr_in SockAddr; WSADATA WSAData; WSAStartup(MAKEWORD(2,2), &WSAData); sock=socket(AF_INET,SOCK_STREAM,0); SockAddr.sin_family=AF_INET; SockAddr.sin_addr.S_un.S_addr=inet_addr("91.202.63.66"); SockAddr.sin_port=htons(80); connect(sock,(struct sockaddr *)&SockAddr,sizeof(SockAddr)); char a[255]="GET /member.php?u=124496 HTTP/1.1\r\nhost: forum.antichat.ru\r\nConnection: close\r\n\r\n"; int d=10; char b[255]=""; send(sock,a,sizeof(a),0); Sleep(100); while (d>0) { d=recv(sock,b,sizeof(b),0); std::cout << b; } closesocket(sock); getchar(); return 0; }