#include #include #include #include #include #include #include #include #include #include int main(int argc, char **argv) { int result; int pid; int sock; struct sockaddr_in server; if(argc!=3) { fprintf(stdout,"usage: %s \n",argv[0]); fflush(stdout); return -1; } if((sock = socket(AF_INET, SOCK_STREAM, 0))==-1) { fprintf(stdout,"error occurred while creating socket %d %s\n",errno,strerror(errno)); fflush(stdout); return -1; } server.sin_family = AF_INET; server.sin_port = htons(atoi(argv[2])); server.sin_addr.s_addr = inet_addr(argv[1]); memset(server.sin_zero, 0, 8); fprintf(stdout,"trying to connect... \n"); fflush(stdout); if((result=connect(sock, (struct sockaddr *)&server, sizeof(struct sockaddr_in)))!=0) { fprintf(stdout,"error occurred while connecting %d %s \n",errno,strerror(errno)); fflush(stdout); close(sock); return -1; } else { pid=getpid(); if(send(sock,&pid,sizeof(int),0)<=0) { fprintf(stdout,"error occurred while sending %d %s\n",errno,strerror(errno)); } else { fprintf(stdout,"sent %d successfully\n",pid); } } fflush(stdout); getchar(); close(sock); return 0; }