The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Hoog Niveau Programmering
.
google unix.com



Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
SugarCRM CEO John Roberts vertelt ons hoe zijn bedrijf ontwikkeld (video) iBot UNIX en Linux RSS Nieuws 0 04-18-2008 05:30 PM
Nieuwe wrapper script zal worden ontwikkeld om wrap twee ksh scripts ishai82 Programmeren en Shell Scripting 3 03-17-2008 04:45
Hoe was de Gollum ontwikkeld? Legend986 Post Hier Contact Site Administrators en Moderators 2 12-09-2007 08:37 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 07-23-2007
arjunjag arjunjag is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2007
Posts: 12
Bug heeft ontwikkeld

Jongens er is nog een insect dat zich heeft ontwikkeld ......... nu messaged boven de 6 bytes worden bijgesneden en terug weerklonk op de eerste boodschap van de echo is niet regular.I client.After hebben een lus gelegd in zowel client en server om te controleren of closing.Moreover voor i-verbinding dicht moeten ook naar een andere clausule dat, als er een verbinding breuk in een server of client de verbinding moet worden gesloten van andere side.Below zetten zijn de server en Clinet kant codes na aansluiting

Server

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);
      for(i=0;i<=len;i++)
	{
	  //strcpy(buf1,&buffer[i]);
	  //strcat(buf1,&buffer[i+1]);
	  k= strcmp("/",&buffer[i]);
	
	  if(k==0)
	    break;
	  break;
	}
	      for(p=i;p<=len;p++)
		{
		  j= strcmp("q",&buffer[p]);
		
	      if(j==0)
		{
		  close(newsockfd);
		  close(sockfd);
		  exit(0);
		  
		}
		}
	
	      puts(buffer);/*print message by client*/
	      write(newsockfd,"\n Client wrote",14);/*write to client*/
	      n=write(newsockfd,buffer,sizeof(buffer));/*write to client*/
	      if(n<0)perror("Write Failed");
	
      
    }

Client Side

Code:
	while(k!=0)
	  {
	    memset(&buf, 0, sizeof(buf));
    printf("\n Enter Message for Server");
    gets(buf);
    rc = write(s, buf,sizeof(buf)); 
     if(rc<0)
      {
	perror("write failed");
      }
    /* now that we are connected, start writing to the socket */	
    /* till write() returns 0, meaning the server closed	*/
    /* the connection.				*/
    len=strlen(buf);
    for(i=0;i<=len;i++)
      {
	//strcpy(b1,&buf[i]);
	//strcat(b1,&buf[i+1]);
	       
	l= strcmp("/",&buf[i]);
      
	if(l==0)
	  break;
	break;
      }
	    for(p=i;p<=len;p++)
	      {
	    k=  strcmp("q",&buf[p]);
	    if(k==0)
	      {
		close(s);
		exit (0);
	      }
	      }

	    read(s,buf1,14);
	    read(s,buf2,1024);
	    puts(buf1);/*print messages from server*/
	    puts(buf2);/*print messages from server*/
    
    
	  }
      }


Laatst bewerkt door reborg; op 07.23.2007 09:03.. Reden: code tags
  #2 (permalink)  
Old 07-23-2007
portier porter is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Jan 2007
Berichten: 2965

Code:
if(k==0)
break;
break;

Wat is dat verondersteld te bereiken?

Ik stel voor dat je geen gebruik van C + + stijl commentaar in C-code. Het is een slechte gewoonte voor draagbare code.
  #3 (permalink)  
Old 07-23-2007
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Locatie: Bangalore, India
Berichten: 2.798
arjunjag, zich bewust zijn van de regels. Geen huiswerk vragen. U krijgt het gehele college project gebeurt door de leden van het forum.
  #4 (permalink)  
Old 07-23-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: Mar 2005
Locatie: leaf node in B + boom
Berichten: 2.960
Zeer eerste verzoek, gebruik dan code tags


Code:
n = read(newsockfd,buffer,1024);/*read from client*/
if (n < 0) perror("\n ERROR reading from socket \n");/*check for errors*/

Waarom wil je hier blijven, zelfs na een fout? (Na perror)
Wilt u doorgaan, zelfs als n \u003d\u003d 0


Code:
if(k==0)
break;
break;

Betekent dat, ongeacht de waarde van 'breken k'. Waarom is dat deel van de code? Alles specifieke hier?



Code:
if(j==0)
{
close(newsockfd);
close(sockfd);
exit(0);
}

Parent niet te wachten op het kind in te vullen



Code:
write(newsockfd,"\n Client wrote",14);/*write to client*/

Flusing vóór schrijven en niet daarna.


Code:
n=write(newsockfd,buffer,sizeof(buffer));/*write to client*/
if(n<0)perror("Write Failed");
}


Hetzelfde patroon waar het blijft, zelfs na verwerking schrijven oproep geeft een negatieve waarde



Code:
gets(buf);

Deze functie zou niet controleren geen bufferoverloop.

proberen fgets gebruiken.


Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 03:31 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0