![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| the given code goes in infinite loop and does not increment variable i | mrityunjay22 | Shell Programming and Scripting | 6 | 12-26-2007 02:20 AM |
| Infinite Loop in Autosys while running a shell script, Manual run is fine | sharmagaurav_2k | Shell Programming and Scripting | 2 | 09-04-2007 08:20 AM |
| BEA Enters the CEP Market with Weblogic Event Server | iBot | Complex Event Processing RSS News | 0 | 08-09-2007 11:50 PM |
| ls command in infinite Loop | umakant | SUN Solaris | 3 | 07-17-2007 01:25 AM |
| high priority thread contains an infinite loop | rvan | High Level Programming | 0 | 02-14-2007 09:30 AM |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
pick the bug the server enters an infinite loop
here is the server and client side code now there is a bug after which the server enters an infinite loop.the server is designed as an echo server and if it reads /q then the server closes while the client can send messages till /q now after the frst msg when another msg is send infinite loop is entered
Server code Code:
while(j!=0)
{
memset(buffer,0,1024);/*clear buffer*/
n = read(newsockfd,buffer,1024);/*read from client*/
if (n < 0) perror("\n ERROR reading from socket \n");/*check for errors*/
len=strlen(buffer);
puts(buffer);/*print message by client*/
write(newsockfd,"\n Client wrote \n",12);/*write to client*/
n=write(newsockfd,buffer,sizeof(buffer));/*write to client*/
if(n<0)perror("Write Failed");
while(i<len)
{
//printf("%d\n",i);
j= strcmp(buf,&buffer[i]);
if(j==0)
break;
i+=2;
}
Code:
while(j==0)
{
printf("\n Enter Message for Server");
gets(buf);
/* now that we are connected, start writing to the socket */
/* till write() returns 0, meaning the server closed */
/* the connection. */
rc = write(s, buf,sizeof(buf));
if(rc<0)
{
perror("write failed");
}
else
{
read(s,buf1,12);
read(s,buf2,sizeof(buf));
}
puts(buf1);/*print messages from server*/
puts(buf2);/*print messages from server*/
printf("want to write more data");
gets(ans);
j=strcmp(ans,"yes");
break;
}
}
Last edited by vino; 07-18-2007 at 09:17 AM.. Reason: added code tags |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|