Client-Server Communication With One Client and One Server
Client-Server Communication With One Client and One Server
server :
Client:
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<time.h>
#include<netdb.h>
#include<unistd.h>
#include <string.h>
#include<stdlib.h>
socket_fd = socket(AF_INET,SOCK_STREAM,0);
if(socket_fd<0)
printf("\nSocket error");
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(port_num);
inet_pton(AF_INET,argv[0],&server_addr.sin_addr);
bzero(buffer,18);
fgets(buffer,18,stdin);
if(write(socket_fd,buffer,18) <0)
printf("\nCouldn't send to server\n");
bzero(buffer,18);
if(read(socket_fd,buffer,18) <0)
printf("\nerror reading from the server\n");
printf("%s\n",buffer);
return 0;
}
Server:
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<time.h>
#include<netdb.h>
#include<unistd.h>
#include <string.h>
#include<stdlib.h>
socket_fd = socket(AF_INET,SOCK_STREAM,0);
if(socket_fd<0)
printf("\nSocket error");
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(port_num);
server_addr.sin_addr.s_addr = INADDR_ANY;
listen(socket_fd,3002);
newsocket_fd = accept(socket_fd, (struct sockaddr *)&client_addr, &clilen);
if (newsocket_fd < 0) {
perror("ERROR on accept");
exit(1);
}
bzero(buffer,18);
return 0;
}
OUTPUT:
#include<stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include<time.h>
#include<netdb.h>
#include<unistd.h>
#include <strings.h>
#include<stdlib.h>
socket_fd = socket(AF_INET,SOCK_STREAM,0);
if(socket_fd<0)
printf("\nSocket error");
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(port_num);
server_addr.sin_addr.s_addr=inet_addr("127.0.0.1");
bzero(buffer,18);
fgets(buffer,18,stdin);
if(write(socket_fd,buffer,18) <0)
printf("\nCouldn't send to server\n");
bzero(buffer,10);
if(read(socket_fd,buffer,18) <0)
printf("\nerror reading from the server\n");
printf("%s\n",buffer);
return 0;
}
Server:
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<time.h>
#include<netdb.h>
#include<unistd.h>
#include <string.h>
#include<stdlib.h>
int main(int argc,char *argv[]){
int socket_fd,newsocket_fd;int port_num = 2017,clilen;
pid_t child;
char buffer[10],cladr[100];
struct sockaddr_in server_addr,client_addr;
socket_fd = socket(AF_INET,SOCK_STREAM,0);
if(socket_fd<0)
printf("\nSocket error");
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(port_num);
inet_pton(AF_INET,"127.0.0.1",&server_addr.sin_addr.s_addr);
listen(socket_fd,5);
for(;;){
bzero(&client_addr,sizeof(client_addr));
newsocket_fd = accept(socket_fd, (struct sockaddr *)&client_addr, &clilen);
inet_ntop(AF_INET,&(client_addr.sin_addr),cladr,100);
if (newsocket_fd < 0) {
perror("ERROR on accept");
exit(1);
}
OUTPUT: