Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

TCP/IP i duzina buffera

[es] :: C/C++ programiranje :: TCP/IP i duzina buffera

[ Pregleda: 2549 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

erkan
Sarajevo

Član broj: 12339
Poruke: 267
195.222.35.*

ICQ: 238530669


Profil

icon TCP/IP i duzina buffera23.09.2004. u 08:21 - pre 238 meseci
Pozdrav svima,
ako preko TCP/IP a primam poruke u odredjenom formatu
a poruke su varjabilne duzine, da li se mogu javiti roblemi ako f-jom:
recv(pCli->m_hSocket, acBuffer, TCP_MESSAGE_LEN, 0)
primam poruke u duzini TCP_MESSAGE_LEN pri cemu taj
parametar oznacava najvecu mogucu duzinu poruke koja mi stize
po tom portu? Dakle, da li mogu ovim nacinom zahvatiti i dio naredne poruke pa time izazvati gresku ili prema ovom protokolu svaka poslana poruka je u zasebnom buffer-u?
Da li se nakon citanja poruke iz buffera (ili samo jednog njenog dijela) ta poruka automatski brise iz njega?

Hvala!
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

tweeester
Ivan Arandjelovic
bg yu

Član broj: 724
Poruke: 882
*.kc.vicert.com

Sajt: www.javasvet.net


Profil

icon Re: TCP/IP i duzina buffera23.09.2004. u 08:53 - pre 238 meseci
Nazalost situacija je prostija nego sto mislis, kazem nazalost zato sto to otezava programiranje. Naime, iako TCP podaci putuju u "paketima" sa klijentske (i serverske) strane TCP podaci se posmatraju kao kontinualni niz bajtova, dakle nema paketa/poruka. Hocu da kazem da je mopguce sledece:

1. klijent salje 10 puta po 10 bajtova - server prima svih 100 bajtova odjednom
2. klijent salje 10 puta po 10 bajtova - server prima 100 puta po 1 bajt
3. sve kombinacije izmedju 1. i 2. su moguce

Dakle to sto klijent posalje 20 bajtova u jednom send() pozivu ne znaci da ce server svih 20 da primi u jednom recv() pozivu, mozda primi manje, a mozda i vise (ako je posle posalto jos nesto)...

Dakle ... knjigu u ruke ... salim se.

I da, kada se bajtovi jednom procitaju sa recv() onda se brisu iz bafera (samo oni koji su procitani).

Hope this helps.
Pozdrav

<< tko leti vrijedi, tko ne leti ne vrijedi >>
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
195.222.35.*

ICQ: 238530669


Profil

icon Re: TCP/IP i duzina buffera23.09.2004. u 09:59 - pre 238 meseci
OK, hvala!
Koliko sam shvatio, to znaci da nikada nisam siguran da cu jednim
recv(...) primiti jednu cjelovitu poruku (mada je dosada uvijek uspjevalo).


Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

markom
Marko Milivojević
Network Engineer
Google
Mountain View

Član broj: 18427
Poruke: 4227
*.lina.net

Sajt: https://markom.rs


+16 Profil

icon Re: TCP/IP i duzina buffera23.09.2004. u 10:36 - pre 238 meseci
Šta tačno podrazumevaš pod "porukom"? Takođe, laboratorijske uslove ne treba mešati sa pravim Internetom... Za početak, u TCP komunikaciji postoji jedan parametar koji se zove MSS, tj. Maximim Segment Size. Probaj da izmeniš taj parametar u tvojoj laboratoriji pa da testiraš...

Marko.
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
195.222.35.*

ICQ: 238530669


Profil

icon Re: TCP/IP i duzina buffera24.09.2004. u 13:49 - pre 238 meseci
Pod porukom podrazumjevam niz bajta (od 20 do 300)
koji salje od servera prema klijentu ili obratno, pri cemu ta poruka sadrzi odredjene podatke koji odredjuju sljedecu akciju koja se treba izvrsiti na serveru ili klijentu.
A, pravo da ti kazem, ne znam sta je taj >> Maximim Segment Size <<
i kako da ga izmjenim?

Mada u medjuvremenu sam nasao rjesenje mog problema sa porukama varijabilne duzine.
Poruke koje primam uzimam iz buffera u fiksnoj duzini smjestam u svoj interni buffer par puta veci od primljene poruke, a onda uzimanjem parametra i siftanjem ulijevo uspjevam da obezbjedim da se poruke predaju na obradu u svojoj originalnoj velicini (koja je varijabilna).
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

markom
Marko Milivojević
Network Engineer
Google
Mountain View

Član broj: 18427
Poruke: 4227
*.singidunum.net

Sajt: https://markom.rs


+16 Profil

icon Re: TCP/IP i duzina buffera24.09.2004. u 20:26 - pre 238 meseci
RFC 793, strana 18.

Marko.
 
Odgovor na temu

[es] :: C/C++ programiranje :: TCP/IP i duzina buffera

[ Pregleda: 2549 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.