struct sockaddr_in localAddr, servAddr;
struct hostent *h;
int sd, rc, i;
h = gethostbyname("localhost");
servAddr.sin_family = h->h_addrtype;
memcpy((char *)&servAddr.sin_addr.s_addr, h->h_addr_list[0], h->h_length);
servAddr.sin_port = htons(4012);
sd = socket(PF_INET, SOCK_STREAM, 0);
localAddr.sin_family = AF_INET;
localAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
localAddr.sin_port = htons(4012);
rc = bind(sd, (struct sockaddr *)&localAddr, sizeof(localAddr));
rc = connect(sd, (struct sockaddr *)&servAddr, sizeof(servAddr));
char recvbuf[1];
rc = recv(sd, recvbuf, 1, 0);