LQ Newbie
Registered: May 2008
Posts: 17
Original Poster
Rep:
|
Client.c
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>
void error(char *msg)
{
perror(msg);
exit(0);
}
int main(int argc,char *argv[])
{
int sockfd,portno,n;
FILE *fptr;
struct sockaddr_in serv_addr;
struct hostent *server;
char buffer[256];
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
error("ERROR opening socket");
server=gethostbyname("10.128.18.251");
if(server==NULL)
{
fprintf(stderr,"ERROR,no such host\n");
exit(0);
}
bzero((char*)&serv_addr,sizeof(serv_addr));
serv_addr.sin_family=AF_INET;
bcopy((char*)server->h_addr,(char*)&serv_addr.sin_addr.s_addr,server->h_length);
serv_addr.sin_port=htons(7000);
if(connect(sockfd,&serv_addr,sizeof(serv_addr))<0)
error("ERROR connecting");
printf("please Enter the message :");
bzero(buffer,256);
while(1){
fgets(buffer,255,stdin);
n=write(sockfd,buffer,strlen(buffer));
if(n<0)
error("ERROR writing to socket");
bzero(buffer,256);
n=read(sockfd,buffer,255);
if(n<0)
error("ERROR reading from socket");
printf("%s\n",buffer);
}
close(sockfd);
return 0;
}
Server.c
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
void error(char *msg)
{
perror(msg);
exit(1);
}
int main(int argc,char *argv[])
{
int sockfd,newsockfd,portno,clilen,n,i;
char buffer[256];
int optval=1;
struct sockaddr_in serv_addr,cli_addr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
error("ERROR opening socket");
bzero((char *)&serv_addr,sizeof(serv_addr));
serv_addr.sin_family=AF_INET;
serv_addr.sin_addr.s_addr=INADDR_ANY;
setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&optval,sizeof optval);
serv_addr.sin_port=htons(7000);
if(bind(sockfd,(struct sockaddr *)&serv_addr,sizeof(serv_addr))<0)
error("ERROR on binding");
//while(1)
n=listen(sockfd,5);
if(n==-1)
error("Error :listen");
clilen=sizeof(cli_addr);
newsockfd=accept(sockfd,(struct sockaddr *)&cli_addr,&clilen);
if(newsockfd<0)
error("ERROR on accept");
bzero(buffer,256);
n=read(newsockfd,buffer,255);
if(n<0)
error("ERROR reading from socket");
printf("Here is the message:%s",buffer);
n=write(newsockfd, "got your message",18);
if(n<0)
error("ERROR writing to socket");
close(sockfd);
return 0;
.........................................
Above i ve given my cde i want to communicate two clients to one server. whether i ve to modify anything in my code?
|