The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Højtstående Programmering
.
google unix.com



Højtstående Programmering Post spørgsmål om C, C + +, Java, SQL, og andre programmerings sprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
SugarCRM CEO John Roberts fortæller os, hvordan hans selskab udviklet (video) iBot UNIX og Linux RSS Nyheder 0 04-18-2008 05:30 PM
Ny wrapper script vil blive udviklet til wrap to ksh scripts ishai82 Shell Programmering og Scripting 3 03-17-2008 04:45 AM
Hvordan var det Gollum udviklet? Legend986 Skriv her for at kontakte Site Administratorer og Moderatorer 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-23-2007
arjunjag arjunjag is offline
Registreret Bruger
  
 

Join Date: Jul 2007
Stillinger: 12
Bug har udviklet

Fyre der er en anden fejl, der har udviklet ......... nu messaged over 6 bytes er trimmet og gentaget tilbage til client.After den første besked ekkoet ikke regular.I har lagt en løkke i både klient og server for at kontrollere, closing.Moreover for tilslutning tæt jeg også nødt til at sætte en anden klausul, at hvis der er en forbindelse pause i hverken server eller klient forbindelsen skal være lukket fra andre side.Below er serveren og clinet side koder efter tilslutning

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");
	
      
    }
Klientsiden
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*/
    
    
	  }
      }

Senest redigeret af reborg; 07-23-2007 kl 09:03 AM.. Årsag: kode tags
  #2 (permalink)  
Old 07-23-2007
porter porter is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Jan 2007
Stillinger: 2965
Code:
if(k==0)
break;
break;
Hvad er det meningen at opnå?

Jeg foreslår, at du ikke bruger C + + stil kommentarer i C-kode. Det er en dårlig vane for bærbare kode.
  #3 (permalink)  
Old 07-23-2007
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Beliggenhed: Bangalore, Indien
Indlæg: 2.798
arjunjag, være opmærksom på reglerne. Ingen lektier spørgsmål. Du får hele kollegiet projekt udført af medlemmer af forummet.
  #4 (permalink)  
Old 07-23-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: Mar 2005
Beliggenhed: blad node i B +-træ
Indlæg: 2.954
Meget første anmodning skal du bruge code tags

Code:
n = read(newsockfd,buffer,1024);/*read from client*/
if (n < 0) perror("\n ERROR reading from socket \n");/*check for errors*/
Hvorfor vil du fortsætte her, selv efter en fejl? (Efter perror)
Ønsker du at fortsætte, selv når n \u003d\u003d 0

Code:
if(k==0)
break;
break;
Betyder det at bryde uanset værdien af 'k'. Så hvorfor er den del af koden? Noget konkret her?


Code:
if(j==0)
{
close(newsockfd);
close(sockfd);
exit(0);
}
Forælder ikke vente til barnet for at fuldføre


Code:
write(newsockfd,"\n Client wrote",14);/*write to client*/
Flusing før du skriver og ikke efter det.

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

Det samme mønster, hvor det fortsætter behandlingen, selv efter at skrive kalder returnerer en negativ værdi


Code:
gets(buf);
Denne funktion vil ikke se nogen bufferoverløb.

forsøger at bruge fgets.


Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 03:08 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0