![]() |
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.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
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;
}
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 |
|
||||
|
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 |
|
||||
|
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");
}
|