leszek          Fri Nov  2 17:58:46 2001 EDT

  Added files:                 
    /phpdoc/pl/features connection-handling.xml 
  Log:
  Finished translation
  

Index: phpdoc/pl/features/connection-handling.xml
+++ phpdoc/pl/features/connection-handling.xml
<?xml encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="features.connection-handling">
  <title>Obsługa połączeń</title>

  <note>
   <para>Ten rozdział dotyczy wersji 3.0.7 i późniejszych.</para>
  </note>

  <para>
   PHP wewnętrznie zarządza stanem połączenia. Mogą wystąpić
   trzy stany:
   <itemizedlist>
    <listitem><simpara>0 - NORMAL</simpara></listitem>
    <listitem><simpara>1 - ABORTED (przerwany)</simpara></listitem>
    <listitem><simpara>2 - TIMEOUT (przekroczony czas)</simpara></listitem>
   </itemizedlist>
  </para>

  <simpara>
   Kiedy skrypt PHP się wykonuje, aktywny jest stan NORMAL.
   Jeśli klient się rozłączy, stan przechodzi w ABORTED.
   Zwykle ma to miejsce gdy użytkownik naciśnie przycisk STOP w
   przeglądarce. Jeśli przekroczony zostanie narzucony limit czasu
   (patrz <function>set_time_limit</function>), stan zmienia się
   na TIMEOUT.
  </simpara>

  <simpara>
   Możesz zdecydować czy po rozłączeniu klienta praca skryptu ma zostać
   przerwana. Czasem przydatne jest by skrypty działały do końca, nawet
   gdy braknie przeglądarki do której można wysyłać dane. Domyślnie,
   po rozłączeniu się klienta, działanie skryptu jest przerywane. To
   zachowanie można zmienić dzięki opcji ignore_user_abort w php.ini, jak
   również dyrektywie Apache php3_ignore_user_abort lub funkcji
   <function>ignore_user_abort</function>. Jeśli nie każesz PHP ignorować
   rozłączeń klienta, a klient rozłączy się, skrypt zakończy działanie.
   Jedyny wyjątek wystąpi, jeśli zarejestrujesz funkcję zamykającą, używając
   <function>register_shutdown_function</function>. Wtedy, gdy użytkownik
   wciśnie przycisk STOP i przy kolejnej próbie wysłania wyniku PHP
   wykryje przerwanie połączenia, zostanie wykonana funkcja zamykająca.
   Będzie ona również wywoływana przy normalnym zakończeniu pracy skryptu,
   zatem, by wykonać inne czynności gdy klient się rozłączy, można
   użyć funkcji <function>connection_aborted</function>. Zwraca ona
   &true; jeśli połączenie zostało przerwane.
  </simpara>

  <simpara>
   Skrypt może zostać również zakończony przez wbudowany licznik czasu.
   Domyślnie czas ten wynosi 30 sekund. Wartość tę można zmienić
   używając opcji max_execution_time w php.ini, jak również dyrektywy
   Apache php3_max_execution_time lub funkcji
   <function>set_time_limit</function>. Kiedy czas na wykonanie się
   skończy, skrypt zostanie przerwany podobnie jak w przypadku rozłączenia
   się klienta (patrz wyżej). Jeśli funkcja zamykająca była zarejestrowana,
   zostanie wywołana. Wewnątrz funkcji zamykającej możesz sprawdzić czy
   została ona wywołana wskutek przekroczenia czasu. Do tego celu użyj
   funkcji <function>connection_timeout</function>, która zwróci &true;
   jeśli to przekroczenie limitu czasu spowodowało wywołanie funkcji
   zamykającej.

  <simpara>
   Należy zwrócić uwagę, że stany ABORTED i TIMEOUT mogą być aktywne
   jednocześnie. Jest to możliwe, jeśli każesz PHP ignorować rozłączenia
   klienta. PHP będzie brało pod uwagę fakt, że połączenie z klientem
   mogło zostać zerwane, ale skrypt będzie pracował dalej. Gdy minie czas
   przeznaczony na wykonanie skryptu, zostanie on przerwany i uruchomiona
   zostanie funkcja zamykająca (jeśli była ustawiona). W tym momencie funkcje
   <function>connection_timeout</function> i
   <function>connection_aborted</function> będą zwracały &true;. Możesz
   także sprawdzić oba stany przy pomocy funkcji
   <function>connection_status</function>. Zwróci ona aktywne stany
   ustawione bitowo. Dla przykładu, jeśli oba stany są aktywne, zostanie
   zwrócona liczba 3.
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->


Reply via email to