sk2:sockets_caveats
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| sk2:sockets_caveats [2024/10/31 10:42] – [Funkcje blokujące / nieblokujące] jkonczak | sk2:sockets_caveats [2026/10/22 17:47] (current) – jkonczak | ||
|---|---|---|---|
| Line 41: | Line 41: | ||
| ===== Blokowanie i wartości zwracane przez funkcje odbierające / wysyłające dane ===== | ===== Blokowanie i wartości zwracane przez funkcje odbierające / wysyłające dane ===== | ||
| - | ==== Read i Write - ilość odczytanych / zapisanych bajtów | ||
| - | |||
| - | Funkcje '' | ||
| - | wielkość bufora. Powód? Mniej danych przyszło lub skończyło się miejsce w buforze | ||
| - | odbiorczym((Rozmiar bufora odbiorczego można ustawić funkcją: '' | ||
| - | Może się tak stać nawet pomimo ustawienia flagi '' | ||
| - | '' | ||
| - | np. w przypadku zakończenia połączenia. | ||
| - | |||
| - | Funkcje '' | ||
| - | ilość bajtów niż zażądano. | ||
| - | Jest to spowodowane zapełnieniem systemowego buforu wysyłania (czyli jeśli dane | ||
| - | są dostarczane do wysłania szybciej niż można je wysyłać). | ||
| - | Normalnie funkcje zapisujące blokują się do momentu aż w buforze będzie dość | ||
| - | miejsca. | ||
| - | Jeśli jednak gniazdo pracuje w trybie nieblokującym (patrz niżej), to funkcje | ||
| - | takie jak '' | ||
| - | systemowym skończy się miejsce. | ||
| - | |||
| - | Dlatego zarówno przy odbieraniu jak i wysyłaniu trzeba sprawdzać zwracaną ilość | ||
| - | przetworzonych danych. | ||
| ==== Funkcje blokujące / nieblokujące ===== | ==== Funkcje blokujące / nieblokujące ===== | ||
| Line 112: | Line 91: | ||
| Linux od dawna wspiera stałą '' | Linux od dawna wspiera stałą '' | ||
| </ | </ | ||
| + | |||
| + | ==== Read i Write - ilość odczytanych / zapisanych bajtów | ||
| + | |||
| + | Funkcje '' | ||
| + | wielkość bufora. Powód? Mniej danych przyszło lub skończyło się miejsce w buforze | ||
| + | odbiorczym((Rozmiar bufora odbiorczego można ustawić funkcją: '' | ||
| + | Może się tak stać nawet pomimo ustawienia flagi '' | ||
| + | '' | ||
| + | np. w przypadku zakończenia połączenia. | ||
| + | |||
| + | Funkcje '' | ||
| + | ilość bajtów niż zażądano. | ||
| + | Jest to spowodowane zapełnieniem systemowego buforu wysyłania (czyli jeśli dane | ||
| + | są dostarczane do wysłania szybciej niż można je wysyłać). | ||
| + | Normalnie funkcje zapisujące blokują się do momentu aż w buforze będzie dość | ||
| + | miejsca. | ||
| + | Jeśli jednak gniazdo pracuje w trybie nieblokującym (patrz niżej), to funkcje | ||
| + | takie jak '' | ||
| + | systemowym skończy się miejsce. | ||
| + | |||
| + | Dlatego zarówno przy odbieraniu jak i wysyłaniu trzeba sprawdzać zwracaną ilość | ||
| + | przetworzonych danych. | ||
| + | |||
| ==== Zadania ===== | ==== Zadania ===== | ||
sk2/sockets_caveats.txt · Last modified: by jkonczak