Thursday, June 18, 2015

TCP SOCKET

PROGRAM:
SERVER SIDE:
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<string.h>
#include<sys/socket.h>
int main(int argc.char *argv[])
{
 Int sockfd,portno,new sockfd,clien,n;
Struct sockaddr_in serv_addr,cliaddr;
Struct hostent *server;
Char buffer[256];
If(argc<2)
{
Fprintf(stderr,*error no port provided”);
Exit(1);
}
Sockfd=socket(AF_INET,SOCK_STREAM,0);
If(sockfd,0)
Printerror(”\n error binding”);
Listen(sockfd,s);
Clien=sizeof(cliaddr);
Newsockfd=accept(sockfd,(struct sockaddr*)&cliaddr,&client);
If(newsockfd<0)
Printerror(”\n error on accept”);
Bzero(buffer,256);
N=read(newsockfd,buffer,255);
If(n<0)
Perror(”error reading from the socket”);
Printf(”message %s”,buffer);
N=write(new sockfd,buffer,50);
If(n<0)
Printerror(”\n error waiting to socket”);
Return 0;
Int printerror(char *msg)
{
Perror(msg);
Exit(1);
}
 
 
 
CLIENT SIDE:
 
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/socket.h>
Int main(int argc,char *argv[])
{
Int sockfd,portno,n;
Struct sockaddr_in serv_addr;
Struct hostent *server;
Char buffer[256];
If(argc<3)
{
Fprintf(stderr,”type%s follwed by host name and then port no(n,”argv[0]);
exit(0);
}
Port no=atoi(argv[2]);
Sockfd=socket[AF_INET,SOCK_STREAM,0);
If(sockfd<0)
Printerror(“error opening socket”);
Server=gethost by name(argv[1]);

If(server=NULL)
{
Fprintf(stderr,”\n error no such host”);
Exit(0);
}
Bzero((char*)&serv_addr,sizeof(serv_addr));
Serv_addr.sin_family=AF_INET;
Bcopy((char*)server0-> b_addr,(char*)&serv_addr,sizeof(serv_addr))<0)
Printerror(“\n error connecting”);
Printf(“enter the message”);
Bzero(buffer,256);
Fgets(buffer,255,stdin);
n=write(sockfd,buffer,strlen(buffer));
if(n>0)
printerror(“error writing to socker”);
bzero(buffer,256);
printf(“servers echo message”);
n=read(sockfd,buffer,255);
if(n<0)
printerror(“\n error reading from the socket”);
printf(“%s”,buffer);
return 0;
}
Int printerror(char *msg);
{
perror(msg);
exit(0);
}



OUTPUT:
SERVER SIDE:

"ftpse.c" 60L, 1216C written
[ME04@TELNET ~]$ cc ftpse.c
[ME04@TELNET ~]$ ./a.out
Message:hai
[ME04@TELNET ~]$




CLIENT SIDE:

"ftpcl.c" 51L, 1137C written
[ME04@TELNET ~]$ cc ftpcl.c
[ME04@TELNET ~]$ ./a.out
Message:hai

Error waiting for socket


























No comments:

Post a Comment