BROUGHT TO YOU BY
http://www.linuxsocket.org/

soooo many people have asked or had problems with BASIC Socket Programming, might as well post a template source code right?
Code:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <resolv.h>
#define PORT_HTTP	81
#define PORT_TIME	13
#define PORT_FTP	21
#define SERVER_ADDR	"127.0.0.1"
#define MAXBUF		1024

int main(int argc, char* argv[])
{	int acc;
	int sockfd;
	struct sockaddr_in dest;
	char buffer[MAXBUF];
	
	/* Open socket for streaming */
	if( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
	{
		perror("Socket");
		exit(errno);
	}
	/* Init Server Address/port struct */
	bzero(&dest,sizeof(dest));
	dest.sin_family = AF_INET;
	if(argv[1] == NULL)
		dest.sin_port = htons(PORT_FTP);
	else
	{
		scanf("%d",&acc);
		dest.sin_port = htons(acc);
	}
	if ( inet_aton(SERVER_ADDR, &dest.sin_addr.s_addr) == 0)
	{
		perror(SERVER_ADDR);
		exit(errno);
	}
	if( connect(sockfd, (struct sockaddr*)&dest,sizeof(dest)) != 0)
	{
		perror("Connect ");
		exit(errno);
	}
	
	bzero(buffer,MAXBUF);
	recv(sockfd,buffer,sizeof(buffer),0);
	printf("%s",buffer);

	close(sockfd);
	return 0;
}
Slightly modified because I am working on a scanner but here is some code that opens up FTP and stuff...
When I finish the scanner, I will post that too.