@sandy..
here's the code i was talkin about..
sorry abt the delay..
on the client side..
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#define SRV_TCP_PORT 27000
#define MAX_MSG 100
void errExit(char *str)
{
puts(str);
exit(0);
}
void main()
{
clrscr();
int sockfd, newsockfd;
struct sockaddr_in cliadr, srvadr;
int clilen, n;
char mesg[MAX_MESG];
if((sockfd = socket(AF_INET, SOCK_STREAM, 0))<0)
errExit(" Can't open stream socket ");
/* bind server port */
memset(&srvadr,0,sizeof(srvadr));
srvadr.sin_family = AF_INET;
srvadr.sin_addr.s_addr = htonl(INADDR_ANY);
srvadr.sin_port = htons9SRV_TCP_PORT);
if(bind(sockfd, (struct sockaddr*) &srvadr, sizeof(srvadr))<0)
errExit(" Can't bind local address");
listen(sockfd,5);
while(1)
{
printf(" Server waiting for new connection : \n");
//clilen = sizeof(cliaddr);
newsockfd = accept(sockfd, (struct sockaddr*) &cliadr, &clilen);
if(newsockfd<0)
errExit(" Accept Error \n");
printf("connected to the client \n");
/* receive segments */
while(1)
{
n = recv(newsockfd,mesg,MAX_MSG,0)
if(n<0)
errExit(" Receive Error \n");
if(n==0)
{
close(newsockfd);
break;
}
if(send(newsockfd,mesg,n,0) != n)
errExit(" Send Error \n");
printf(" Received ans sent the following message : %s \n", mesg);
} /* while(read_line) */
} /* while(1) */
getch();
}
and for the server....
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h> /* close */
#define SRV_IP_ADRS "10.102.11.20"
#define SRV_TCP_PORT 27000
#define MAX_MSG 100
void errExit(char *str)
{
puts(str);
exit(0);
}
int main()
{
int sockFd;
struct sockaddr_in srvAdr;
char txmsg[MAX_MSG];
char rxmsg[MAX_MSG];
int n;
if((sockfd = socket(AF_INET,SOCK_STREAM,0))<0)
errExit(" Can't open socket ");
memset(&srvAdr,0,sizeof(srvAdr));
srvAdr.sin_family = AF_INET;
srvAdr.sin_addr.s_addr = inet_addr(SRV_IP_ADRS);
srvAdr.sin_port = htons(SRV_TCP_PORT);
if(connect(sockFd, (struct sockaddr *) &srvAdr, sizeof(srvAdr))<0)
errExit(" Can't connect to server");
while(1)
{
printf(" Enter the message to send , Enter # to exit : \n");
fgets(txmsg,MAX_MSG,stdin);
if(txmsg[0]=='#')
break;
n = strlen(txmsg)+1;
if(send(sockFd,txmsg,n,0) != n)
errExit(" Send Error \n ");
n=recv(sockFd,rxmsg,MAX_MSG,0);
if(n<0)
errExit(" Receive Error \n");
printf(" Received following message : %s \n",rxmsg);
}
close(sockFd);
getch();
return(0);
}
lookin forward for some reply n help..
thx in advance..