From be9d9aedb53e9b3211765f16bf4b90f5d31c1722 Mon Sep 17 00:00:00 2001 From: EliteTK Date: Mon, 24 Feb 2014 21:03:53 +0000 Subject: Added all files --- sockets.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 sockets.c (limited to 'sockets.c') 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 +#include +#include +#include +#include + +#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; +} -- cgit v1.2.3-54-g00ecf