Showing posts with label TCPIP. Show all posts
Showing posts with label TCPIP. Show all posts

Thursday, 26 February 2015

Network Programming PPT's

SNO
Name of Concept(Networking Concepts)
Downloads
1
Introduction to Various Protocols:
2
The OSI model and TCPIP protocol suite:
3
Underlying Technology:
4
IP Addresses Classification:
5
IP Address:
6
Delivery, Forwarding and Routing Of IP Packets:
7
ARP and RARP:
8
Internet Protocol:
9
Internet Control Message Protoal(ICMP):
10
Internet Group Management Protocol(IGMP):
11
User DataGram Protocol(UDP):
12
Transmission Control Protocol(TCP):
13
Stream Control Transmission Protocol:
14
Unicast Routing Protocols(RIP, OSPF,BGP):
15
Multi-Casting and MultiCast routing Protocols:
16
Host Configuration(BOOTP and DHCP):
17
Domain Name server(DNS):
18
Remote Login(TelNet):
19
File Transfer(FTP,TFTP):
20
Electronic Mail(SMTP,POP,IMAP):
21
SNMP:
22
Worldwide Web(HTTP):
23
IP Over ATM:
24
Mobile IP:
25
multimedia:
26
Virtual Private Networks(VPN) and Network address Transmission:
27
Next Generation IPv6 and ICMPv6:
28
Security:



Read More

Thursday, 4 December 2014

Half Duplex Communication Using TCP IP Protocol

TCPIP Client Half Duplex Communication Method-2 Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,n,newsd1;
socklen_t len;
char buf[20],buf1[20];
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[2]));
sAddr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("connect");
return;
}
printf("connect successful\n");
while(1)
{
printf("enter msg to send...\n");
gets(buf);
n=send(sd,buf,strlen(buf),0);
if(n<0)
{
perror("send");
return;
}
printf("send successful\n");
//if(strcmp(buf,"exit")==0)
//exit(0);
n=recv(newsd,buf1,20,0);
if(n<0)
{
perror("EBADF");
return;
}
printf("%s",buf1);
if(strcmp(buf,"exit")==0)
exit(0);
}
close(sd);
}

TCPIP Server Half Duplex Communication Method-2 Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,n;
socklen_t len;
char buf[20],buf1[20];
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[1]));
sAddr.sin_addr.s_addr=inet_addr("0.0.0.0");
if(bind(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("bind");
return;
}
printf("bind successful....\n");
listen(sd,5);
len=sizeof(cAddr);
printf("waiting for client request...\n");
newsd=accept(sd,(struct sockaddr *)&cAddr,&len);
if(newsd==-1)
{
perror("accept");
return;
}
printf("connection accepted\n");
while(1)
{
printf("waiting for data...\n");
bzero(buf,20);
n=recv(newsd,buf,20,0);
if(n<0)
{
perror("recv");
return;
}
bzero(buf1,20);
printf("received: %s\n",buf);
printf("enter data to send...\n");
gets(buf1);
n=send(sd,buf1,strlen(buf),0);
if(n<0)
{
perror("send");
return;
}
//printf("%s",buf1);
if(strcmp(buf1,"exit")==0)
exit(0);
//if(strcmp(buf,"exit")==0)
//exit(0);
}
close(sd);
close(newsd);
}

Read More

Half Duplex Communication Using TCP IP Protocol

TCPIP Client Half Duplex Communication Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret;
socklen_t len;
char buf[20];
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[2]));
sAddr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("connect");
return;
}
printf("connect successful\n");
while(1)
{
printf("enter msg to send...\n");
gets(buf);
ret=send(sd,buf,strlen(buf),0);
if(strcmp(buf,"QUIT")==0)
//exit(0);
break;
if(ret==-1)
{
perror("send");
return;
}
printf("waiting for data...\n");
bzero(buf,20);
recv(sd,buf,20,0);
if(strcmp(buf,"QUIT")==0)
break;
printf("received: %s\n",buf);

}
close(sd);
}
TCPIP Server half Duplex Communication Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret;
socklen_t len;
char buf[20];
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[1]));
sAddr.sin_addr.s_addr=inet_addr("0.0.0.0");
if(bind(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("bind");
return;
}
printf("bind successful....\n");
listen(sd,5);
len=sizeof(cAddr);
printf("waiting for client request...\n");
newsd=accept(sd,(struct sockaddr *)&cAddr,&len);
if(newsd==-1)
{
perror("accept");
return;
}
printf("connection accepted\n");
while(1)
{
printf("waiting for data...\n");
bzero(buf,20);
recv(newsd,buf,20,0);
if(strcmp(buf,"QUIT")==0)
break;
printf("received: %s\n",buf);
printf("enter msg to send...\n");
gets(buf);
ret=send(newsd,buf,strlen(buf),0);
if(strcmp(buf,"QUIT")==0)
//exit(0);
break;
if(ret==-1)
{
perror("send");
return;
}

}
close(sd);
close(newsd);
}
Read More

Full Duplex Communication Using TCP IP Protocol

TCPIP Client Full Duplex Communication Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret,i,j;
socklen_t len;
char buf[20],ch;
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[2]));
sAddr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("connect");
return;
}
printf("connect successful\n");
if(fork()==0)
{
while(1)
{
printf("enter msg to send...\n");
gets(buf);
ret=send(sd,buf,strlen(buf),0);
if(strcmp(buf,"QUIT")==0)
break;
if(ret==-1)
{
perror("send");
return;
}
}
}
else
{
while(1)
{
printf("waiting for data...\n");
bzero(buf,20);
recv(sd,buf,20,0);
if(strcmp(buf,"QUIT")==0)
break;
for(i=0,j=strlen(buf)-1;i<j;i++,j--)
{
ch=buf[i];
buf[i]=buf[j];
buf[j]=ch;
}
printf("received: %s\n",buf);

}
}
close(sd);
}

TCPIP Server Full Duplex Communication Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret,i,j;
socklen_t len;
char buf[20],ch;
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[1]));
sAddr.sin_addr.s_addr=inet_addr("0.0.0.0");
if(bind(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("bind");
return;
}
printf("bind successful....\n");
listen(sd,5);
len=sizeof(cAddr);
printf("waiting for client request...\n");
newsd=accept(sd,(struct sockaddr *)&cAddr,&len);
if(newsd==-1)
{
perror("accept");
return;
}
printf("connection accepted\n");
if(fork()==0)
{
while(1)
{
printf("waiting for data...\n");
bzero(buf,20);
recv(newsd,buf,20,0);
if(strcmp(buf,"QUIT")==0)
break;
for(i=0,j=strlen(buf)-1;i<j;i++,j--)
{
ch=buf[i];
buf[i]=buf[j];
buf[j]=ch;
}
printf("received: %s\n",buf);
}
}
else
{
while(1)
{
printf("enter msg to send...\n");
gets(buf);
ret=send(newsd,buf,strlen(buf),0);
if(strcmp(buf,"QUIT")==0)
exit(0);
break;
if(ret==-1)
{
perror("send");
return;
}

}
}
close(sd);
close(newsd);
}


Read More

Upload and download data Using TCP IP Protocol

Question: client needs to send request to server, then server respond to the client request. Implement this method using TCP IP Protocol

TCPIP Client Upload and download data Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret,i,j;
socklen_t len;
char buf[80],ch;
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[2]));
sAddr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("connect");
return;
}
printf("connect successful\n");
printf("enter name of file to download...\n");
gets(buf);
ret=send(sd,buf,strlen(buf),0);
if(ret==-1)
{
perror("send");
return;
}
printf("file name send successfully...\n");

while(recv(sd,buf,80,0))
{
if(strcmp(buf,"complete")==0) 
break;
else{
printf("received: %s\n",buf);

}
}
printf("message downloaded successfully...\n");
close(sd);
}

TCPIP Server Upload Download data Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret,j,pos;
socklen_t len;
char buf[20],ch,str[80];
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[1]));
sAddr.sin_addr.s_addr=inet_addr("0.0.0.0");
if(bind(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("bind");
return;
}
printf("bind successful....\n");
listen(sd,5);
len=sizeof(cAddr);
printf("waiting for client request...\n");
newsd=accept(sd,(struct sockaddr *)&cAddr,&len);
if(newsd==-1)
{
perror("accept");
return;
}
printf("connection accepted\n");

printf("waiting for file name from client...\n");
bzero(buf,20);
recv(newsd,buf,20,0);
FILE *fp;
fp=fopen(buf,"r");
if(fp==NULL)
{
printf("file cannot be opened..\n");
return;
}
fseek(fp,0,2);
pos=ftell(fp);
printf("size=%d\n",pos);
rewind(fp);
int i=0;
/*while((ch=fgetc(fp))!=EOF)
{
str[i]=ch;
i++;
}*/
while((fgets(str,80,fp))!=NULL)
ret=send(newsd,str,strlen(str),0);
//ret=send(newsd,str,strlen(str),0);
if(ret==-1)
{
perror("send");
return;
}
strcpy(str,"complete");
ret=send(newsd,str,strlen(str),0);
printf("send successfull...\n");
//printf("received: %s\n",buf);
close(sd);
close(newsd);
}

Read More

Reverse a number using TCP IP Protocol

Question: send an integer from client to server and Reverse that number in Server after that Send result to client

TCPIP Client number reverse Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret,i,j,num,res;
socklen_t len;
char buf[20],ch;
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[2]));
sAddr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("connect");
return;
}
printf("connect successful\n");
printf("enter msg to send...\n");
scanf("%d",&num);
send(sd,&num,4,0);
recv(sd,&res,4,0);
printf("number after reverse is:%d\n",res);
close(sd);
}
TCPIP Server Number reverse Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret,i,j,rev=0,res=0,num=0;
socklen_t len;
char buf[20],ch;
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[1]));
sAddr.sin_addr.s_addr=inet_addr("0.0.0.0");
if(bind(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("bind");
return;
}
printf("bind successful....\n");
listen(sd,5);
len=sizeof(sAddr);
printf("waiting for client request...\n");
newsd=accept(sd,(struct sockaddr *)&cAddr,&len);
if(newsd==-1)
{
perror("accept");
return;
}
printf("connection accepted\n");
printf("waiting for data...\n");
//bzero(num,20);
recv(newsd,&num,4,0);
printf("num:%d\n",num);
while(num>0)
{
//rev=rev*10;
rev=(rev*10)+(num%10);
num=(num/10);
}
printf("reversed num is %d\n",rev);
ret=send(newsd,&rev,4,0);
if(ret==-1)
perror("send");
else
printf("send successful...\n");
close(sd);
close(newsd);
}

Read More

Sunday, 13 April 2014

TCPIP Client Basic Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd,ret;
socklen_t len;
char buf[20];
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[2]));
sAddr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("connect");
return;
}
printf("connect successful\n");
while(1)
{
printf("enter msg to send...\n");
gets(buf);
ret=send(sd,buf,strlen(buf),0);
if(strcmp(buf,"QUIT")==0)
//exit(0);
break;
if(ret==-1)
{
perror("send");
return;
}
recv(newsd,buf,20,0);
//printf("%s",buf);
if(strcmp(buf,"exit")==0)
exit(0);
}
close(sd);
}

TCPIP Server Basic Program
#include<stdio.h>
#include<sys/ipc.h>
#include<sys/socket.h>
#include<sys/stat.h>
#include<stdlib.h>
#include<netinet/in.h>
#include<strings.h>
#include<string.h>
main(int argc,char **argv)
{
int sd,newsd;
socklen_t len;
char buf[20];
struct sockaddr_in cAddr,sAddr;
sd=socket(PF_INET,SOCK_STREAM,0);
if(sd==-1)
{
perror("socket");
return;
}
sAddr.sin_family=PF_INET;
sAddr.sin_port=htons(atoi(argv[1]));
sAddr.sin_addr.s_addr=inet_addr("0.0.0.0");
if(bind(sd,(struct sockaddr *)&sAddr,sizeof(sAddr))==-1)
{
perror("bind");
return;
}
printf("bind successful....\n");
listen(sd,5);
len=sizeof(cAddr);
printf("waiting for client request...\n");
newsd=accept(sd,(struct sockaddr *)&cAddr,&len);
if(newsd==-1)
{
perror("accept");
return;
}
printf("connection accepted\n");
while(1)
{
printf("waiting for data...\n");
bzero(buf,20);
recv(newsd,buf,20,0);
if(strcmp(buf,"QUIT")==0)
break;
printf("received: %s\n",buf);
}
close(sd);
close(newsd);
}

Read More