Hi!
I seem to be getting a segmentation fault and cant figure it out. Also, the count returns a negative value which is quite odd... it probably crashed after just one iteration of the loop.
-Arti
Code:#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #define BUFF_SIZE 1024 int main(int argc, char** argv) { struct sockaddr_in addr1, addr2, addr3; int socket1; char msg1[] = "GET /~1204a007/index.html HTTP/1.0\n\n"; char *inmsg1 = 0; char i; int j; int count=0; FILE* f1; inmsg1 = (char*) malloc(sizeof(char) * BUFF_SIZE+1); if (inmsg1 == NULL) { printf("Low memory error\n"); return 1; } // inmsg1[BUFF_SIZE] = '\0'; addr1.sin_addr.s_addr = inet_addr("192.168.36.211"); addr1.sin_port = htons(80); addr1.sin_family = AF_INET; memset(&(addr1.sin_zero), 0, 8); socket1 = socket(AF_INET, SOCK_STREAM, 0); connect(socket1, (struct sockaddr*) &addr1, sizeof(struct sockaddr_in)); send(socket1, &msg1, strlen(msg1), 0); f1 = fopen("versace.txt", "w"); while (1) { memset(&inmsg1, 0, sizeof(char) * BUFF_SIZE); j=recv(socket1, &inmsg1, sizeof(char) * BUFF_SIZE, 0); if (j==0 || j==-1) break; count++; // for (i=0; i<j; i++) { // fprintf(f1, "%c",&inmsg1[i]); // } fprintf(f1, "%s", &inmsg1); } printf("\n"); printf("Count: %d\n", &count); fclose(f1); close(socket1); return 0; }



LinkBack URL
About LinkBacks


