Good Evening CSE StudentFriends, Just sending the NP Programs to add to ur LAB Record
ThankU
UR's
Satya
ThankU
UR's
Satya
SERVER REVERSE.C
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<fcntl.h>
#include<unistd.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<arpa/inet.h>
#include<sys/wait.h>
#include<sys/socket.h>
#include<string.h>
#include<netinet/in.h>
#define port 9845
# define max 1500
void readstring(int,char *);
main (int argc, char *argv[])
{
int listenfd,connfd,serbind;
socklen_t len;
char buf[max],databuf[1024];
struct sockaddr_in servaddr, cliaddr;
if((listenfd=socket(AF_INET,SOCK_STREAM,0))< 0)
{
printf("\n server socket is not created...\n");
exit(1);
}
memset(&servaddr,0,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(port);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
serbind=bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
if(-1 == serbind)
{
printf("\n bind errror...\n");
exit(1);
}
listen(listenfd,5);
for(;;)
{
printf("\n server: I am waitig...start for main loop...\n");
len=sizeof(cliaddr);
connfd=accept(listenfd,(struct sockaddr*)&cliaddr,&len);
if(connfd<0)
{
printf("\n accept function is not executed...\n");
continue;
}
printf("\n connection from:%s",inet_ntop(AF_INET,&cliaddr.sin_addr,buf,sizeof(buf)));
readstring(connfd,databuf);
close(connfd);
printf("\n\n finished serving one client..\n");
}
}
void readstring(int connfd, char *fname)
{
int p=0,n;
int len=0,a=0,b;
char rev[50],temp[50];
int k,i;
while ((n=read(connfd,(fname+p),1024))>0)
{
p=p+n;
}
fname[p]='\0';
printf("\n\n server receive: %s \n",fname);
k=strlen(fname);
for(i=k-1;i>=0;i--)
{
temp[a]=fname[i];
a=a+1;
}
temp[a]='\0';
printf("the reverse string is: \t %s \n",temp);
}
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<fcntl.h>
#include<unistd.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<arpa/inet.h>
#include<sys/wait.h>
#include<sys/socket.h>
#include<string.h>
#include<netinet/in.h>
#define port 9845
# define max 1500
void readstring(int,char *);
main (int argc, char *argv[])
{
int listenfd,connfd,serbind;
socklen_t len;
char buf[max],databuf[1024];
struct sockaddr_in servaddr, cliaddr;
if((listenfd=socket(AF_INET,SOCK_STREAM,0))< 0)
{
printf("\n server socket is not created...\n");
exit(1);
}
memset(&servaddr,0,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(port);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
serbind=bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr));
if(-1 == serbind)
{
printf("\n bind errror...\n");
exit(1);
}
listen(listenfd,5);
for(;;)
{
printf("\n server: I am waitig...start for main loop...\n");
len=sizeof(cliaddr);
connfd=accept(listenfd,(struct sockaddr*)&cliaddr,&len);
if(connfd<0)
{
printf("\n accept function is not executed...\n");
continue;
}
printf("\n connection from:%s",inet_ntop(AF_INET,&cliaddr.sin_addr,buf,sizeof(buf)));
readstring(connfd,databuf);
close(connfd);
printf("\n\n finished serving one client..\n");
}
}
void readstring(int connfd, char *fname)
{
int p=0,n;
int len=0,a=0,b;
char rev[50],temp[50];
int k,i;
while ((n=read(connfd,(fname+p),1024))>0)
{
p=p+n;
}
fname[p]='\0';
printf("\n\n server receive: %s \n",fname);
k=strlen(fname);
for(i=k-1;i>=0;i--)
{
temp[a]=fname[i];
a=a+1;
}
temp[a]='\0';
printf("the reverse string is: \t %s \n",temp);
}
CLIENT REVERSE.C
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include<sys/stat.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include<sys/stat.h>
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#define max 1024
void sendstring(int , char *);
main(int argc, char *argv[])
{
int sockfd,fd;
char c;
char text[max];
struct sockaddr_in servaddr;
int i=0;
FILE *fp;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{
printf("\n socketr is not created...\n");
exit(1);
}
if(argv[1]==NULL)
{
printf("specify ip...\n");
exit(0);
}
if(argv[2]==NULL)
{
printf("specify port...\n");
exit(0);
}
memset(&servaddr,0,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(atoi(argv[2]));
servaddr.sin_addr.s_addr=inet_addr(argv[1]);
if(connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))<0)
{
printf("\n cannot connect to the server...\n");
exit(1);
}
printf("\n enter the sentence to send end of it enter $...\n");
while(1)
{
c=getchar();
if(c=='$')
break;
text[i++]=c;
}
text[i]='\0';
sendstring(sockfd,text);
close(sockfd);
return 0;
}
void sendstring(int sockfd, char *fname)
{
int n,bw=0,written;
char buffer[max];
strcpy(buffer,fname);
n=strlen(buffer);
while(bw<n)
{
written=write(sockfd,(buffer+bw),(n-bw));
bw+=written;
}
printf("\n the transferred sentence is:\n %s",buffer);
}
Time Out system
#include<stdio.h>
#include<sys/time.h>
#include<unistd.h>
#define STDIN 0
int main()
{
struct timeval tv;
fd_set readfds;
tv.tv_sec=2;
tv.tv_usec=500000;
FD_ZERO(&readfds);
FD_SET(STDIN,&readfds);
select(STDIN|1,&readfds,NULL,NULL,&tv);
if(FD_ISSET(STDIN,&readfds))
printf("a key was pressed ");
else
printf("timeout");
return 0;
}
SELECT System CALL
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/times.h>
#include<unistd.h>
int main(void)
{
fd_set rfds;
struct timeval tv;
int retval;
FD_ZERO(&rfds);
FD_SET(0,&rfds);
tv.tv_sec=5;
tv.tv_usec=0;
retval=select(1,&rfds,NULL,NULL,&tv);
if(retval==-1)
perror("select()");
else if(retval)
printf("Data is available now\n");
else
printf("No data within five seconds.\n");
exit(EXIT_SUCCESS);
}