Code:
int main(int argc, char *argv[])
{
const char * filename;
int sockfd, portno, n;
struct sockaddr_in serv_addr;
struct hostent *server;
FILE *fp = fopen("test.csv", "wb"); //creating the csv file
char buffer[256] = "\0";
if (argc < 3) {
fprintf(stderr,"usage %s hostname port\n", argv[0]);
exit(0);
}
portno = atoi(argv[2]);
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0)
error("ERROR opening socket");
server = gethostbyname(argv[1]);
if (server == NULL) {
fprintf(stderr,"ERROR, no such host\n");
exit(0);
}
bzero((char *) &serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
bcopy((char *)server->h_addr,
(char *)&serv_addr.sin_addr.s_addr,
server->h_length);
serv_addr.sin_port = htons(portno);
if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0)
error("ERROR connecting");
bzero(buffer,256);
n = write(sockfd,buffer,strlen(buffer));
if (n < 0)
error("ERROR writing to socket");
while(1){
bzero(buffer,256);
n = read(sockfd,buffer,255);
if (n < 0)
error("ERROR reading from socket");
printf("%s",buffer);
fwrite(buffer,sizeof(buffer),12,fp); // my attempt at writing it ,
}
close(sockfd);
fclose(fp);
return 0;
}
I applied the commsThread with my app, to get the socket communication working, and used implemented the client code on netbeans.
Communication works, what I'm trying to figure out is how to make use of the information being transported via the sockets.
Cheers