aboutsummaryrefslogtreecommitdiffstats
path: root/sockets.c
diff options
context:
space:
mode:
authorEliteTK <tomasz.kramkowski@gmail.com>2014-02-24 21:03:53 +0000
committerEliteTK <tomasz.kramkowski@gmail.com>2014-02-24 21:03:53 +0000
commitbe9d9aedb53e9b3211765f16bf4b90f5d31c1722 (patch)
treef9368e8a880abf9b9392d631da1e5a373c23dc7e /sockets.c
parentde4075f451a2d6e457dbf9dff714d166618c4495 (diff)
downloadc-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.c64
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;
+}