TCP SERVER program
CREATE SERVER
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
int main()
{
int sfd = socket(AF_INET,SOCK_STREAM,0);
if(sfd == -1)
{
printf("socket error : ");
perror("socket error : ");
exit(1);
}
else
{
printf("socket created successfull sfd : %d\n",sfd);
struct sockaddr_in server,client;
server.sin_family = AF_INET;
server.sin_port = htons( 8000);
server.sin_addr.s_addr = INADDR_ANY;
int b = bind(sfd,(struct sockaddr *)&server,sizeof(server));
if(b == -1)
{
perror("bind failed :");
exit(1);
}
else
{
printf("Bind successful\n");
listen(sfd,5);//itrative server
while(1)
{
int len = sizeof(client);
int cfd = accept(sfd,(struct sockaddr *)&client,&len);
if(cfd == -1)
{
perror("accept failed :");
exit(1);
}
else
{
int ret = fork();
if(ret == 0)
{
printf("client connected : %s\n",inet_ntoa(client.sin_addr));
while(1)
{
printf("waiting for msg from client:\n");
char buff[50];
int r = read(cfd,buff,sizeof(buff));
if(r == -1)
{
perror("read failed:");
exit(1);
}
else if(r == 0)
{
printf("client disconnected :%s\n",inet_ntoa(client.sin_addr));
exit(0);
}
else
{
buff[r] = '\0';
printf("message read : %s\n",buff);
}
// printf("enter a msg to client : \n");
// fgets(buff,50,stdin);
int w = write(cfd,buff,sizeof(buff));
if(w == -1)
{
perror("write failed:");
exit(1);
}
else
{
printf("send successfully\n");
}
}
}
}
}
}
exit(0);
}
}
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
int main()
{
int sfd = socket(AF_INET,SOCK_STREAM,0);
if(sfd == -1)
{
printf("socket error : ");
perror("socket error : ");
exit(1);
}
else
{
printf("socket created successfull sfd : %d\n",sfd);
struct sockaddr_in server,client;
server.sin_family = AF_INET;
server.sin_port = htons( 8000);
server.sin_addr.s_addr = INADDR_ANY;
int b = bind(sfd,(struct sockaddr *)&server,sizeof(server));
if(b == -1)
{
perror("bind failed :");
exit(1);
}
else
{
printf("Bind successful\n");
listen(sfd,5);//itrative server
while(1)
{
int len = sizeof(client);
int cfd = accept(sfd,(struct sockaddr *)&client,&len);
if(cfd == -1)
{
perror("accept failed :");
exit(1);
}
else
{
int ret = fork();
if(ret == 0)
{
printf("client connected : %s\n",inet_ntoa(client.sin_addr));
while(1)
{
printf("waiting for msg from client:\n");
char buff[50];
int r = read(cfd,buff,sizeof(buff));
if(r == -1)
{
perror("read failed:");
exit(1);
}
else if(r == 0)
{
printf("client disconnected :%s\n",inet_ntoa(client.sin_addr));
exit(0);
}
else
{
buff[r] = '\0';
printf("message read : %s\n",buff);
}
// printf("enter a msg to client : \n");
// fgets(buff,50,stdin);
int w = write(cfd,buff,sizeof(buff));
if(w == -1)
{
perror("write failed:");
exit(1);
}
else
{
printf("send successfully\n");
}
}
}
}
}
}
exit(0);
}
}
Comments
Post a Comment