diff options
author | EliteTK <tomasz.kramkowski@gmail.com> | 2014-02-24 21:03:53 +0000 |
---|---|---|
committer | EliteTK <tomasz.kramkowski@gmail.com> | 2014-02-24 21:03:53 +0000 |
commit | be9d9aedb53e9b3211765f16bf4b90f5d31c1722 (patch) | |
tree | f9368e8a880abf9b9392d631da1e5a373c23dc7e /sockets.c | |
parent | de4075f451a2d6e457dbf9dff714d166618c4495 (diff) | |
download | c-stuff-be9d9aedb53e9b3211765f16bf4b90f5d31c1722.tar.gz c-stuff-be9d9aedb53e9b3211765f16bf4b90f5d31c1722.tar.xz c-stuff-be9d9aedb53e9b3211765f16bf4b90f5d31c1722.zip |
Added all files
Diffstat (limited to 'sockets.c')
-rw-r--r-- | sockets.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/sockets.c b/sockets.c new file mode 100644 index 0000000..cf1e7a7 --- /dev/null +++ b/sockets.c @@ -0,0 +1,64 @@ +#include<stdio.h> +#include<string.h> +#include<sys/socket.h> +#include<arpa/inet.h> +#include<netdb.h> + +#define messagelength 1000000 + +int main(int argc, char *argv[]) { + char *hostname = "feeds.feedburner.com"; + char ip[100]; + struct hostent *he; + struct in_addr **addr_list; + int i; + + if ( (he = gethostbyname( hostname ) ) == NULL) { + //gethostbyname failed + herror("gethostbyname"); + return 1; + } + + addr_list = (struct in_addr **) he->h_addr_list; + + for(i = 0; addr_list[i] != NULL; i++) { + strcpy(ip, inet_ntoa(*addr_list[i]) ); + } + + printf("%s resolved to : %s\n", hostname, ip); + + int socket_desc; + struct sockaddr_in server; + char *message, server_reply[messagelength]; + + socket_desc = socket(AF_INET, SOCK_STREAM, 0); + if (socket_desc == -1) { + printf("Could not create socket"); + } + + server.sin_addr.s_addr = inet_addr(ip); + server.sin_family = AF_INET; + server.sin_port = htons( 80 ); + + if (connect(socket_desc, (struct sockaddr *)&server, sizeof(server)) < 0) { + puts("connect error"); + return 1; + } + + puts("Connected\n"); + + message = "HEAD /Explosm HTTP/1.1\r\nHost: feeds.feedburner.com\r\n\r\n"; + if( send(socket_desc , message , strlen(message) , 0) < 0) { + puts("Send failed"); + return 1; + } + puts("Data Send\n"); + + if( recv(socket_desc, server_reply , messagelength, 0) < 0) { + puts("recv failed"); + } + puts("Reply received\n"); + puts(server_reply); + + return 0; +} |