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.