//created by Dr. Ramsey //updated 1/27/10 //edits on 9/11/15 #include #include //for connection and various #include #include //for memset #include //perror #include #include //inet_pton and ntop // connect returns 0 on success void recvMsg(int sf, char *buf, int size_of_buf) { int left = size_of_buf; int used = 0; used = recv(sf,buf,left,0); if(used < 0 ) perror("recv?: "); printf("Recv'd: (%d) :", used); for(int i = 0; i < used; i++) printf("%c",buf[i]); printf("\n"); } int main() { char hostname[] = "127.0.0.1"; int portnumber = 23000; //sf is the socket file descriptor, it is what is important here sockaddr_in a2; int sf = socket(AF_INET, SOCK_STREAM, 0); bzero(&a2, sizeof(a2)); a2.sin_family = AF_INET; inet_pton(AF_INET, hostname, &a2.sin_addr); a2.sin_port = htons(portnumber); if(connect(sf, (sockaddr *)&a2, sizeof(a2)) < 0) perror("connect: "); else { printf("Connection success\n"); char buf[128]; recvMsg(sf,buf,128); printf("Input string to send (<128chars): "); scanf("%s",buf); int s = send(sf,buf,strlen(buf),0); if( s < 0 ) perror("send?: "); } }