hey everybody!
i am experimenting with unix sockets and having some fun. i thought it would be good if i joined these forums to ask some questions....
so my first code sample is this...
now i know your are all laffing at how ugly and poorly coded this is but keep in mind that i aint that advanced. it keeps printf()'ing me that i am connecting on port 56 or 55 or whatever it is it's not argv[2]. any ideas? also you can see i am trying to create a telnet typeof utility so if you could maybe direct me as what to do that'd be great. thx guysCode:#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <sys/socket.h> #include <sys/types.h> #include <netdb.h> #include <netinet/in.h> #include <arpa/inet.h> int main(int argc, char *argv[]) { struct hostent *h; if (argc != 3) { fprintf(stderr, "Usage: tel [HOST] [IP]\n"); exit(1); } h = gethostbyname(argv[1]); if (h == NULL) { herror("gethostbyname"); exit(1); } char *ip = inet_ntoa(*((struct in_addr *)h->h_addr)); int port = *argv[2]; printf("IP : %s\n", ip); printf("Port: %d\n", port); int sockfd; struct sockaddr_in dest_addr; sockfd = socket(AF_INET, SOCK_STREAM, 0); dest_addr.sin_family = AF_INET; dest_addr.sin_port = htons(port); dest_addr.sin_addr.s_addr = inet_addr( ip); connect(sockfd, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr)); return 0; }
oh and btw i use linux with g++ to compile and it compiles fine.



LinkBack URL
About LinkBacks


