The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > High Level Programming
.
google unix.com



High Level Programming Post frågor om C, C + +, Java, SQL och andra programmeringsspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
angivet nummer går i oändlig loop och inte increment variabel i mrityunjay22 Shell-programmering och Skript 6 12-26-2007 02:20
Infinite Loop i Autosys under tiden du kör ett shell script, Manuell kör är bra sharmagaurav_2k Shell-programmering och Skript 2 09-04-2007 09:20
BEA in i CEP marknaden med Weblogic Event Server iBot Complex Event Processing RSS Nyheter 0 08-10-2007 12:50
ls-kommandot i oändlig loop umakant Sun Solaris 3 07-17-2007 02:25
högprioriterad tråd innehåller en oändlig loop rvan High Level Programming 0 02-14-2007 09:30

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-18-2007
arjunjag arjunjag is offline
Registered User
  
 

Join Date: Jul 2007
Inlägg: 12
välja fel servern in i en oändlig loop

Här är den server och klientsidan koden nu finns det en bugg efter vilken server träder en oändlig loop.the servern är utformad som ett eko-server och om den läser / q då servern stängs samtidigt som kunden kan skicka meddelanden till / q nu efter frst meddelande när en annan msg är skicka oändlig loop tas upp
Server-nummer
Kod:
 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;
	   }
Kundrecensioner Kod

Kod:
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;
      }
      }

Senast redigerad av vino; 07-18-2007 vid 10:17.. Orsak: lagt till kod taggar
  #2 (permalänk)  
Old 07-18-2007
porter porter is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2007
Inlägg: 2965
Kod:
	 n = read(newsockfd,buffer,1024);/*read from client*/
	 if (n <= 0) 
	 {
	 	 perror("\n ERROR reading from socket \n");/*check for errors*/
	 	 break;
	 }
En väg ut ur loopen när läsa avkastning noll eller -1 skulle vara bra.
  #3 (permalänk)  
Old 07-19-2007
arjunjag arjunjag is offline
Registered User
  
 

Join Date: Jul 2007
Inlägg: 12
en annan bugg

Hey Porter
den frst bugg är fast nu en annan bugg har come.if klientsidan efter "vill skicka ett meddelande" typer ja servern fungerar väl men när förutom ja något annat budskap skrivs i servern igen träder oändliga loop.how att ta bort den här
  #4 (permalänk)  
Old 07-19-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: mars 2005
Ort: löv i B + träd
Inlägg: 2.954
Jag kunde se att det inte korrigeras för ett utdraget i kundens nummer också.

Använd Porters punkt för att ta itu med överallt när förväntade avkastningen är inte återvänt från någon av skicka / läsa

Kod:
rc = write(s, buf,sizeof(buf)); 
          if(rc<0)
      {
	perror("write failed");
      }
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 12:33.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0