All pastes #21529 Raw Edit

Stuff

public c v1 · immutable
#21529 ·published 2005-08-29 19:54 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <netdb.h>#include <errno.h>#define ip "127.0.0.1"#define port 21int sock, rec;	struct sockaddr_in mySocket;char buffer[1024];int preRead(int fd, int timeout){   fd_set rfds;   struct timeval tv;   int retval;   FD_ZERO(&rfds);   FD_SET(fd, &rfds);   tv.tv_sec = timeout;   tv.tv_usec = 0;   retval = select(fd+1, &rfds, NULL, NULL, &tv);   if(retval == -1){      return -1;   }else if(retval){      return 0;   }else{      return -1;   }}int preSend(int fd, int timeout){   fd_set rfds;   struct timeval tv;   int retval;   FD_ZERO(&rfds);   FD_SET(fd, &rfds);   tv.tv_sec = timeout;   tv.tv_usec = 0;   retval = select(fd+1, NULL, &rfds, NULL, &tv);   if(retval == -1){      return -1;   }else if(retval){      return 0;   }else{      return -1;   }}void printError() {	printf("Error: %s\n", strerror(errno));	exit(0);}int main(int argc, char* argv[]) {	mySocket.sin_family = AF_INET;	mySocket.sin_port = htons(port);	mySocket.sin_addr.s_addr = inet_addr(ip);		sock=socket (AF_INET, SOCK_STREAM, 0);	if (sock == -1) {		printf("Couldn't create a socket!\n");		printError();	}	if (connect(sock,( struct sockaddr *)&mySocket,sizeof(mySocket)) == -1) {		printf("Couldn't connect to remote host!\n");		printError();	}	while(preRead(sock, 1) == 0) {		rec=recv(sock,buffer,sizeof(buffer),0);		buffer[rec]='\0';		printf("Bytes received: %d\n", rec);		printf("%s",buffer);	}	char* msg = "QUIT";	int sendStuff = 0;	while(preSend(sock, 1) == 0 && sendStuff == 0) {		rec=send(sock, msg, strlen(msg), 0);		printf("Bytes send: %d\n", rec);		sendStuff = 1;	}	while(preRead(sock, 1) == 0) {		rec=recv(sock,buffer,sizeof(buffer),0);		buffer[rec]='\0';		printf("Bytes received: %d\n", rec);		printf("%s",buffer);	}	close(sock);	return 0;}