Saturday, June 13, 2015

CLIENT SERVER APPLICATION FOR CHAT

SERVER SIDE:

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
int main(int argc,char **argv)
{
int len;
int listenfd,connfd,n;
int i,j,k=0,l,count=0;
struct sockaddr_in servaddr,cliaddr;
char buff[1024];
char str[1000];
listenfd=socket(AF_INET,SOCK_STREAM,0);
if(listenfd<0)
perror("cant create socket");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=INADDR_ANY;
servaddr.sin_port=htons(20060);
bind(listenfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
listen(listenfd,5);
len=sizeof(cliaddr);
connfd=accept(listenfd,(struct sockaddr *)&cliaddr,&len);
n=read(connfd,buff,1024);
printf("\n received message is %s\t",buff);
l=strlen(buff);
for(i=0;i<l;i++)
{
if(buff[i]=='l')
{
k=i;
count=0;
while(buff[k]=='l')
{
count++;
k++;
if(count==5)
{
for(j=k;j<l-1;j++)
buff[j]=buff[j+1];
l--;
buff[l]=='\0';
break;
}
i=k;
}
}
}
printf("\n unstuffed string is %s\n",buff);
close(connfd);
return 0;
}

CLIENT SIDE:

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
int main(int argc,char **argv)
{
int len;
int sockfd,n,connfd;
int l,k=0,i,j,count=0;
struct sockaddr_in servaddr,cliaddr;
char buff[1024];
char str[1000];
sockfd=socket(AF_INET,SOCK_STREAM,0);

if(sockfd<0)
perror("cannot create socket");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=inet_addr("20.30.1.211");
servaddr.sin_port=htons(20060);
connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr));
printf("\n enter the message");
scanf("%s",buff);
l=strlen(buff);
for(i=0;i<l;i++)
{
if(buff[i]=='l');
{
k=i;
count=0;
while(buff[k]=='l');
{
count++;
k++;
if(count==5)
{
for(j=l;j>k;j--)
{
buff[j]=buff[j-1];
buff[k]='0';
l++;
break;
}
i=k;
}
}
}
}
printf("\n the bit stuffed string is %s\t",buff);
n=write(sockfd,buff,1024);
close(sockfd);
return 0;
}



OUTPUT:

SERVER SIDE:

"serv.c" 53L, 980C written
[ME04@TELNET ~]$ cc serv.c
[ME04@TELNET ~]$ ./a.out
received message is hi
unstuffed string is hi
[ME04@TELNET ~]$ vi serv.c

CLIENT CLIENT:

"cli.c" 53L, 907C written
[ME04@TELNET ~]$ cc cli.c
[ME04@TELNET ~]$ ./a.out
 enter the message hi server...
 the bit stuffed string is hi




























No comments:

Post a Comment