Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
kika Forumaš(ica)

Pridružen/a: 11. 02. 2005. (09:36:12) Postovi: (188)16
|
|
[Vrh] |
|
mdoko Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol: 
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
karaga Gost
|
|
[Vrh] |
|
Ivecus Forumaš(ica)


Pridružen/a: 24. 04. 2006. (18:37:35) Postovi: (62)16
|
|
[Vrh] |
|
tihana Forumaš(ica)


Pridružen/a: 19. 06. 2006. (13:26:54) Postovi: (30D)16
Spol: 
Lokacija: Zagreb
|
|
[Vrh] |
|
Ivecus Forumaš(ica)


Pridružen/a: 24. 04. 2006. (18:37:35) Postovi: (62)16
|
|
[Vrh] |
|
Blatko Forumaš(ica)


Pridružen/a: 12. 07. 2007. (11:25:44) Postovi: (5D)16
|
|
[Vrh] |
|
tihana Forumaš(ica)


Pridružen/a: 19. 06. 2006. (13:26:54) Postovi: (30D)16
Spol: 
Lokacija: Zagreb
|
|
[Vrh] |
|
Blatko Forumaš(ica)


Pridružen/a: 12. 07. 2007. (11:25:44) Postovi: (5D)16
|
|
[Vrh] |
|
mladac Forumaš(ica)


Pridružen/a: 24. 10. 2005. (22:46:14) Postovi: (4D5)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
zzsan Forumaš(ica)

Pridružen/a: 25. 11. 2005. (20:53:14) Postovi: (89)16
|
Postano: 14:16 pon, 26. 11. 2007 Naslov: |
|
|
Jel bi mi mogo neko objasniti slijedeće:
//skladisteProtokol.c
.
.
.
poslanoZadnje = send( sock, &duljinaPoruke_n, sizeof( duljinaPoruke_n ), 0 );
if( poslanoZadnje != sizeof( duljinaPoruke_n ) ) return NIJEOK;
.
.
.
while( poslano != duljinaPoruke )
{
poslanoZadnje = send( sock, poruka + poslano, duljinaPoruke - poslano, 0 );
if( poslanoZadnje == -1 || poslanoZadnje == 0 ) return NIJEOK;
poslano += poslanoZadnje;
}
Koja je razlika između te dvije stvari?
Najprije imam poslanoZadanje=send(...) i kaj se sad tu događa? Dakle, ako nije poslan broj byteova koliko poruka sadrži onda vraćamo NIJEOK. To mi je jasno, ali kaj to ne radimo kasnije u while petlji? :?
Jel bi mi mogo neko objasniti slijedeće:
//skladisteProtokol.c
.
.
.
poslanoZadnje = send( sock, &duljinaPoruke_n, sizeof( duljinaPoruke_n ), 0 );
if( poslanoZadnje != sizeof( duljinaPoruke_n ) ) return NIJEOK;
.
.
.
while( poslano != duljinaPoruke )
{
poslanoZadnje = send( sock, poruka + poslano, duljinaPoruke - poslano, 0 );
if( poslanoZadnje == -1 || poslanoZadnje == 0 ) return NIJEOK;
poslano += poslanoZadnje;
}
Koja je razlika između te dvije stvari?
Najprije imam poslanoZadanje=send(...) i kaj se sad tu događa? Dakle, ako nije poslan broj byteova koliko poruka sadrži onda vraćamo NIJEOK. To mi je jasno, ali kaj to ne radimo kasnije u while petlji?
|
|
[Vrh] |
|
tihana Forumaš(ica)


Pridružen/a: 19. 06. 2006. (13:26:54) Postovi: (30D)16
Spol: 
Lokacija: Zagreb
|
Postano: 14:36 pon, 26. 11. 2007 Naslov: |
|
|
[quote="zzsan"]
poslanoZadnje = send( sock, &duljinaPoruke_n, sizeof( duljinaPoruke_n ), 0 );
if( poslanoZadnje != sizeof( duljinaPoruke_n ) ) return NIJEOK;
[/quote]
tu gledamo jesmo li poslali točan broj byte-ova, ako nismo vraća 0
[quote]
while( poslano != duljinaPoruke )
{
poslanoZadnje = send( sock, poruka + poslano, duljinaPoruke - poslano, 0 );
if( poslanoZadnje == -1 || poslanoZadnje == 0 ) return NIJEOK;
poslano += poslanoZadnje;
}
[/quote]
a tu se petlja vrti dok ne pošaljemo sve byte-ove
jesi skužila?
zzsan (napisa): |
poslanoZadnje = send( sock, &duljinaPoruke_n, sizeof( duljinaPoruke_n ), 0 );
if( poslanoZadnje != sizeof( duljinaPoruke_n ) ) return NIJEOK;
|
tu gledamo jesmo li poslali točan broj byte-ova, ako nismo vraća 0
Citat: |
while( poslano != duljinaPoruke )
{
poslanoZadnje = send( sock, poruka + poslano, duljinaPoruke - poslano, 0 );
if( poslanoZadnje == -1 || poslanoZadnje == 0 ) return NIJEOK;
poslano += poslanoZadnje;
}
|
a tu se petlja vrti dok ne pošaljemo sve byte-ove
jesi skužila?
_________________ I aim to misbehave
|
|
[Vrh] |
|
zzsan Forumaš(ica)

Pridružen/a: 25. 11. 2005. (20:53:14) Postovi: (89)16
|
|
[Vrh] |
|
tihana Forumaš(ica)


Pridružen/a: 19. 06. 2006. (13:26:54) Postovi: (30D)16
Spol: 
Lokacija: Zagreb
|
Postano: 15:05 pon, 26. 11. 2007 Naslov: |
|
|
[quote="zzsan"]Aha, dakle, najprije saljem broj byteova koji označavaju duljinu poruke, a onda u while šaljem stvarnu poruku. Ako mi nije poslan broj bytova kolika će biti duljina poruke, onda mi vraća NIJEOK. :lol: Jel da?[/quote]
mislim da je to točno, ima smisla :) [size=7]nisam baš najbolja u mrežama pa ako netko još potvtdi- zakon[/size]
zzsan (napisa): | Aha, dakle, najprije saljem broj byteova koji označavaju duljinu poruke, a onda u while šaljem stvarnu poruku. Ako mi nije poslan broj bytova kolika će biti duljina poruke, onda mi vraća NIJEOK. Jel da? |
mislim da je to točno, ima smisla nisam baš najbolja u mrežama pa ako netko još potvtdi- zakon
_________________ I aim to misbehave
|
|
[Vrh] |
|
marijap Forumaš(ica)


Pridružen/a: 21. 06. 2006. (19:04:40) Postovi: (209)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
Mad Wilson Forumaš(ica)


Pridružen/a: 29. 05. 2006. (22:51:14) Postovi: (121)16
|
Postano: 20:09 pon, 26. 11. 2007 Naslov: |
|
|
Checksum je element nizih layera. Ovo sto mi radimo je application layer.
Sto se skladista tice, ovako napamet (ako se dobro sjecam), protokol je bio da posaljemo broj bytova koji ce sadrziti prava poruka (dakle velicinu poruke), zatim posaljemo ID poruke (o kojem se tipu poruke radi), i na kraju posaljemo samu poruku. Ovo zadnje je sad moguce, jer primatelj sada zna koliko bytova treba primiti.
Ako u bilo kojem trenutku (u bilo kojem stadiju) slanja dode do greske, funkcija vraca NIJEOK.
Checksum je element nizih layera. Ovo sto mi radimo je application layer.
Sto se skladista tice, ovako napamet (ako se dobro sjecam), protokol je bio da posaljemo broj bytova koji ce sadrziti prava poruka (dakle velicinu poruke), zatim posaljemo ID poruke (o kojem se tipu poruke radi), i na kraju posaljemo samu poruku. Ovo zadnje je sad moguce, jer primatelj sada zna koliko bytova treba primiti.
Ako u bilo kojem trenutku (u bilo kojem stadiju) slanja dode do greske, funkcija vraca NIJEOK.
|
|
[Vrh] |
|
marijap Forumaš(ica)


Pridružen/a: 21. 06. 2006. (19:04:40) Postovi: (209)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
karaga Gost
|
|
[Vrh] |
|
nana Forumaš(ica)


Pridružen/a: 29. 11. 2005. (12:24:35) Postovi: (2AD)16
Spol: 
|
|
[Vrh] |
|
|