All pastes #21515 Raw Edit

Anonymous

public text v1 · immutable
#21515 ·published 2005-08-29 18:39 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 21
int sock, stat, rec;
	
struct sockaddr_in mySocket;

char buffer[1024];

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();
		exit(0);
	}

	if (connect(sock,( struct sockaddr *)&mySocket,sizeof(mySocket)) == -1) {
		printf("Couldn't connect to remote host!\n");
		printError();
		exit(0);
	}
	int quitRec = 0;
	while (quitRec == 0) {
		rec=recv(sock,buffer,sizeof(buffer),0);
		if (rec == 0) {
			//printf("Connection Closed.\n");
       			//exit(0);
			printf("received a 0!\n");
			quitRec = 1;
       		}
		else if (rec == ECONNRESET) {
			printf("Connection Reset.\n");
			exit(0);
		}
		else if (rec < -1) printError();
		else if (rec > 0) {
			buffer[rec]='\0';
			printf("Bytes received: %d\n", rec);
			printf("%s",buffer);
		}

	}
	close(sock);
	return 0;

}