[so] Tema 4 linux
Catalin Iacob
iacobcatalin at gmail.com
Fri Dec 15 19:24:41 EET 2006
Cosmin Ratiu mi-a raspuns acum cateva zile:
"Salut.
Da, banuiesti bine, nu merg operatiile asincrone pe
socketi...deocamdata[...] in momentul de fata, aio_read si aio_write
merg doar pe fisiere. In concluzie, pe partea de server o sa ai un
thread care foloseste epoll ca sa iti dai seama cand poti citi/scrie
fara sa blochezi. "
Deci daca folosim recv pe socket (ca aio_read nu merge) si primim multe
date (gen 100MB) in server, eu ziceam doar ca o sa dureze multicel -
vreo cateva minute - si ca deci sunt probleme de eficienta si
scalabilitate, nu ca recv se blocheaza nedefinit pana vine ceva pe socket.
Cercetand putin am gasit la adresa
http://www-128.ibm.com/developerworks/linux/library/l-async/index.html
fraza "The |aio_read| function requests an asynchronous read operation
for a valid file descriptor. The file descriptor can represent a file, a
socket, or even a pipe.". Asa ca acum sunt total confuz: se poate sau nu
folosi aio_read direct pe socket-ul serverului?
Octavian Purdila wrote:
> On Friday 15 December 2006 18:17, Catalin Iacob wrote:
>
>> Salut
>>
>> Eu tot am cateva nelamuriri legate de tema pe linux(sper sa fie ultimele
>> si sa ma apuc apoi de treaba):
>>
>> 1. fisierele trebuie impartite in bucati sau nu? - ma gandesc ca nu prea
>> e normal sa trimiti un fisier de 100MB tot odata din moment ce serverul
>> va sta blocat (din moment ce se fac read/write blocante) un timp de
>> ordinul minutelor daca se comunica prin Internet; in timpul asta
>> clientii se vor aduna la coada si daca se va depasi parametrul 2 backlog
>> al functiei listen conexiunea le va fi refuzata
>>
>>
>
> Serverul nu trebuie sa se blocheze la operatiile de read/write. Din cauza asta
> folositi epoll si aio_*.
>
> Doar clientul se poate bloca.
>
> tavi
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20061215/24e90817/attachment.html
More information about the so
mailing list