![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| High-Level-Programmierung Post Fragen zu C, C + +, Java, SQL, und andere Programmiersprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| den angegebenen Code in Endlosschleife und keine Erhöhung der Variable i | mrityunjay22 | Shell Programmierung und Scripting | 6 | 12-26-2007 02:20 AM |
| Infinite Loop in AutoSys während der Ausführung ein Shell-Skript, Handbuch laufen gut | sharmagaurav_2k | Shell Programmierung und Scripting | 2 | 09-04-2007 08:20 AM |
| BEA Eingabe der KEP-Markt mit Weblogic Event Server | iBot | Complex Event Processing RSS News | 0 | 08-09-2007 11:50 PM |
| ls-Befehl in der Endlosschleife | umakant | SUN Solaris | 3 | 07-17-2007 01:25 AM |
| hohe Priorität Thread enthält eine Endlosschleife | rvan | High-Level-Programmierung | 0 | 02-14-2007 09:30 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Wählen Sie die Fehler der Server in eine Endlosschleife
hier ist die Server-und Client-Code jetzt gibt es einen Fehler, nach der der Server in eine unendliche loop.the Server ist als ein Echo-Server und, wenn er / q schließt sich der Server, während der Client-Nachrichten senden können bis / q jetzt nach dem frst MSG msg ist, wenn ein anderer senden Endlosschleife werden
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;
}
}
Zuletzt bearbeitet von vino; am 07-18-2007 09:17 AM.. Grund: Code-Tags hinzugefügt |
|
||||
|
Code:
n = read(newsockfd,buffer,1024);/*read from client*/
if (n <= 0)
{
perror("\n ERROR reading from socket \n");/*check for errors*/
break;
}
|
|
||||
|
Ein weiterer Fehler
Hey Porter
die frst Fehler ist jetzt behoben come.if Ein weiterer Fehler ist der Client-Seite nach "wollen, um eine weitere Meldung" Server-Typen ja gut funktioniert, aber wenn ja abgesehen von einer anderen Nachricht wird in das Server wieder in den unendlichen loop.how zu entfernen dies |
|
||||
|
Ich konnte sehen, dass ihr nicht korrigiert für ein Snippet in der Client-Code als auch.
Verwenden Sie die Nummer Porter, um überall, wenn erwartete Rendite wird nicht wieder von einem senden / lesen Code:
rc = write(s, buf,sizeof(buf));
if(rc<0)
{
perror("write failed");
}
|
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|