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:
|
|||
Showing posts with label Network Programming. Show all posts
Showing posts with label Network Programming. Show all posts
Thursday, 26 February 2015
Network Programming PPT's
Posted by Madan
Posted on 00:39
Tuesday, 30 December 2014
Role of repeaters,bridges and hubs in Network Communication
Posted by Madan
Posted on 21:03
Functions of network devices
Separating (connecting) networks or expanding an existing network.
Examples: repeaters, hubs, bridges, routers, switches, gateways are used to provide communication between network devices.
Network devices used for Remote access
Example: Remote access devices are 56K Modems and ADSL modems
we should follow the following steps while Expanding Network
Networks cannot be made larger by simply adding new computers and more cables. it is Less efficient.
large LAN to be divided into various segments to form smaller LAN's
These LAN's should be connected using the following components.
LAN segments connected using Repeaters, bridges, routers, switches or gateways.
Why we need to use Repeaters and Hubs in Network Communication?
Repeaters or hubs works at the OSI physical layer to regenerate the network’s signal and resend them to other segments. Hubs will regenerates data and broadcasts them to all ports
Cannot link unlike segments
Cannot join segments with different access methods (e.g. CSMA/CD and token passing)
Do not isolate and filter packets
Can connect different types of media
The most economic way of expanding networks
Separating (connecting) networks or expanding an existing network.
Examples: repeaters, hubs, bridges, routers, switches, gateways are used to provide communication between network devices.
Network devices used for Remote access
Example: Remote access devices are 56K Modems and ADSL modems
we should follow the following steps while Expanding Network
Networks cannot be made larger by simply adding new computers and more cables. it is Less efficient.
large LAN to be divided into various segments to form smaller LAN's
These LAN's should be connected using the following components.
LAN segments connected using Repeaters, bridges, routers, switches or gateways.
Why we need to use Repeaters and Hubs in Network Communication?
Repeaters or hubs works at the OSI physical layer to regenerate the network’s signal and resend them to other segments. Hubs will regenerates data and broadcasts them to all ports
what are the Limitations and Features of Hubs?
Cannot link unlike segments
Cannot join segments with different access methods (e.g. CSMA/CD and token passing)
Do not isolate and filter packets
Can connect different types of media
The most economic way of expanding networks

Bridges:
Bridges Has one input and one output
Bridges Used to isolate network traffic and computers
Bridges Has the intelligent to examine incoming packet source and destination addresses
Bridges cannot interpret higher-level information
How Bridges Work?
Bridges work at the Media Access Control Sub-layer of the OSI model
Routing table implemented to record the segment address
If destination address is in the same segment as the source address, stop transmit. Otherwise, forward to the other segment.
Thursday, 4 December 2014
Half Duplex Communication Using TCP IP Protocol
Posted by Madan
Posted on 19:43
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); }
Half Duplex Communication Using TCP IP Protocol
Posted by Madan
Posted on 19:42
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); }
Full Duplex Communication Using TCP IP Protocol
Posted by Madan
Posted on 19:40
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); }
Upload and download data Using TCP IP Protocol
Posted by Madan
Posted on 19:37
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
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); }
Reverse a number using TCP IP Protocol
Posted by Madan
Posted on 19:33
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
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); }
UDP Programming for Half Duplex Communication
Posted by Madan
Posted on 19:27
UDP Programming for client Half Duplex Communication
#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_DGRAM,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]); while(1) { printf("enter msg:"); scanf("%s",buf); sendto(sd,buf,strlen(buf),0,(struct sockaddr*)&sAddr,sizeof(sAddr)); printf("connect successful\n"); } close(sd); }UDP Programming for Server Half Duplex Communication
#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_DGRAM,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"); else printf("bind sucess\n"); while(1) { printf("waiting for message....\n"); bzero(buf,20); socklen_t y=sizeof(cAddr); recvfrom(sd,buf,20,0,(struct sockaddr *)&cAddr,&y); printf("%s %s\n",inet_ntoa(cAddr.sin_addr.s_addr),buf); } close(sd); close(newsd); }
UDP Programming for Full Duplex Communication(Chat Application)
Posted by Madan
Posted on 19:26
UDP Programming for client Full Duplex Communication
#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],temp; struct sockaddr_in cAddr,sAddr; sd=socket(PF_INET,SOCK_DGRAM,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(fork()==0) { while(1) { printf("enter msg:"); scanf("%s",buf); sendto(sd,buf,strlen(buf),0,(struct sockaddr*)&sAddr,sizeof(sAddr)); //printf("connect successful\n"); } } else { while(1) { printf("waiting for message....\n"); bzero(buf,20); socklen_t y=sizeof(cAddr); recvfrom(sd,buf,20,0,(struct sockaddr *)&sAddr,&y); for(i=0,j=strlen(buf)-1;i<j;i++,j--) { temp=buf[i]; buf[i]=buf[j]; buf[j]=temp; } printf("received msg:%s\n",buf); //if(strcmp(buf,"QUIT")==0) //break; //printf("%s %s\n",inet_ntoa(cAddr.sin_addr.s_addr),buf); } } close(sd); }
UDP Programming for Server Full Duplex Communication
#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],temp; struct sockaddr_in cAddr,sAddr; sd=socket(PF_INET,SOCK_DGRAM,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"); else printf("bind sucess\n"); socklen_t y=sizeof(cAddr); //printf("connect successful\n"); recvfrom(sd,buf,20,0,(struct sockaddr *)&cAddr,&y); if(fork()==0) { while(1) { printf("waiting for message....\n"); bzero(buf,20); recvfrom(sd,buf,20,0,(struct sockaddr *)&cAddr,&y); for(i=0,j=strlen(buf)-1;i<j;i++,j--) { temp=buf[i]; buf[i]=buf[j]; buf[j]=temp; } printf("recv=%s\n",buf); printf("%s %s\n",inet_ntoa(cAddr.sin_addr.s_addr),buf); } } else { while(1) { printf("enter msg:"); scanf("%s",buf); sendto(sd,buf,strlen(buf),0,(struct sockaddr*)&cAddr,sizeof(cAddr)); } } close(sd); }
Sunday, 13 April 2014
Basic Chatting application(Half Duplex Communication) using UDP Programming
Posted by Madan
Posted on 22:50
UDP Programming for client
#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_DGRAM,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]); while(1) { printf("enter msg:"); scanf("%s",buf); sendto(sd,buf,strlen(buf),0,(struct sockaddr*)&sAddr,sizeof(sAddr)); printf("connect successful\n"); } close(sd); }UDP Programming for Server
#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_DGRAM,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"); else printf("bind sucess\n"); while(1) { printf("waiting for message....\n"); bzero(buf,20); socklen_t y=sizeof(cAddr); recvfrom(sd,buf,20,0,(struct sockaddr *)&cAddr,&y); printf("%s %s\n",inet_ntoa(cAddr.sin_addr.s_addr),buf); } close(sd); close(newsd); }
Developing Chat Application using TCPIP Socket Programming
Posted by Madan
Posted on 22:40
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); }
Subscribe to:
Posts (Atom)