[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