# Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. # docs-es@python.org / # https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to get # the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-25 19:47+0200\n" "PO-Revision-Date: 2021-08-04 13:36+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.10.3\n" #: ../Doc/library/asyncore.rst:2 msgid ":mod:`asyncore` --- Asynchronous socket handler" msgstr ":mod:`asyncore` --- controlador de socket asincrónico" #: ../Doc/library/asyncore.rst:14 msgid "**Source code:** :source:`Lib/asyncore.py`" msgstr "**Código fuente:** :source:`Lib/asyncore.py`" #: ../Doc/library/asyncore.rst:20 msgid "" "The :mod:`asyncore` module is deprecated (see :pep:`PEP 594 <594#asyncore>` " "for details). Please use :mod:`asyncio` instead." msgstr "" #: ../Doc/library/asyncore.rst:25 msgid "" "This module exists for backwards compatibility only. For new code we " "recommend using :mod:`asyncio`." msgstr "" "Este módulo solo existe para compatibilidad con versiones anteriores. Para " "el nuevo código recomendamos usar :mod:`asyncio`." #: ../Doc/library/asyncore.rst:28 msgid "" "This module provides the basic infrastructure for writing asynchronous " "socket service clients and servers." msgstr "" "Este módulo proporciona la infraestructura básica para escribir servicio de " "socket asincrónicos, clientes y servidores." #, fuzzy msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidad `: Unix." #: ../Doc/library/cpython/Doc/includes/wasm-notavail.rst:5 msgid "" "This module does not work or is not available on WebAssembly platforms " "``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " "more information." msgstr "" #: ../Doc/library/asyncore.rst:33 msgid "" "There are only two ways to have a program on a single processor do \"more " "than one thing at a time.\" Multi-threaded programming is the simplest and " "most popular way to do it, but there is another very different technique, " "that lets you have nearly all the advantages of multi-threading, without " "actually using multiple threads. It's really only practical if your " "program is largely I/O bound. If your program is processor bound, then pre-" "emptive scheduled threads are probably what you really need. Network " "servers are rarely processor bound, however." msgstr "" "Sólo hay dos maneras de que un programa en un solo procesador haga \"más de " "una cosa a la vez\". La programación multiproceso es la forma más sencilla y " "popular de hacerlo, pero hay otra técnica muy diferente, que le permite " "tener casi todas las ventajas de multiproceso, sin usar realmente varios " "subprocesos. Es realmente sólo práctico si su programa está en gran parte " "limitado por el I/O. Si el programa está limitado por el procesador, los " "subprocesos programados preventivos son probablemente lo que realmente " "necesita. Sin embargo, los servidores de red rara vez están limitado al " "procesador." #: ../Doc/library/asyncore.rst:42 msgid "" "If your operating system supports the :c:func:`select` system call in its I/" "O library (and nearly all do), then you can use it to juggle multiple " "communication channels at once; doing other work while your I/O is taking " "place in the \"background.\" Although this strategy can seem strange and " "complex, especially at first, it is in many ways easier to understand and " "control than multi-threaded programming. The :mod:`asyncore` module solves " "many of the difficult problems for you, making the task of building " "sophisticated high-performance network servers and clients a snap. For " "\"conversational\" applications and protocols the companion :mod:`asynchat` " "module is invaluable." msgstr "" "Si su sistema operativo es compatible con la llamada del sistema :c:func:" "`select` en su biblioteca de I/O (y casi todos lo son), puede usarla para " "hacer malabares con varios canales de comunicación a la vez; haciendo otro " "trabajo mientras su I/O está teniendo lugar en el \"fondo\". Aunque esta " "estrategia puede parecer extraña y compleja, especialmente al principio, es " "en muchos sentidos más fácil de entender y controlar que la programación " "multiproceso. El módulo :mod:`asyncore` resuelve muchos de los problemas " "difíciles para usted, haciendo que la tarea de construir sofisticados " "servidores de red de alto rendimiento y clientes sea fácil. Para " "aplicaciones y protocolos \"conversacionales\", el módulo complementario :" "mod:`asynchat` es invaluable." #: ../Doc/library/asyncore.rst:53 msgid "" "The basic idea behind both modules is to create one or more network " "*channels*, instances of class :class:`asyncore.dispatcher` and :class:" "`asynchat.async_chat`. Creating the channels adds them to a global map, " "used by the :func:`loop` function if you do not provide it with your own " "*map*." msgstr "" "La idea básica detrás de ambos módulos es crear uno o más *canales* de red, " "instancias de clase :class:`asyncore.dispatcher` y :class:`asynchat." "async_chat`. La creación de los canales los agrega a un mapa global, " "utilizado por la función :func:`loop` si no lo proporciona con su propio " "*map*." #: ../Doc/library/asyncore.rst:59 msgid "" "Once the initial channel(s) is(are) created, calling the :func:`loop` " "function activates channel service, which continues until the last channel " "(including any that have been added to the map during asynchronous service) " "is closed." msgstr "" "Una vez creados los canales iniciales, llamar a la función :func:`loop` " "activa el servicio de canal, que continúa hasta que se cierra el último " "canal (incluido el que se ha agregado al mapa durante el servicio " "asincrónico)." #: ../Doc/library/asyncore.rst:66 msgid "" "Enter a polling loop that terminates after count passes or all open channels " "have been closed. All arguments are optional. The *count* parameter " "defaults to ``None``, resulting in the loop terminating only when all " "channels have been closed. The *timeout* argument sets the timeout " "parameter for the appropriate :func:`~select.select` or :func:`~select.poll` " "call, measured in seconds; the default is 30 seconds. The *use_poll* " "parameter, if true, indicates that :func:`~select.poll` should be used in " "preference to :func:`~select.select` (the default is ``False``)." msgstr "" "Ingresa un bucle de sondeo que termina después de que se hayan cerrado los " "pases de conteo o todos los canales abiertos. Todos los argumentos son " "opcionales. El parámetro *count* tiene como valor predeterminado ``None``, " "lo que da como resultado que el bucle termine solo cuando se hayan cerrado " "todos los canales. El argumento *timeout* establece el parámetro de tiempo " "de espera para la llamada adecuada a :func:`~select.select` o :func:`~select." "poll`, medida en segundos; el valor predeterminado es 30 segundos. El " "parámetro *use_poll*, si es true, indica que :func:`~select.poll` debe " "utilizarse en lugar de :func:`~select.select` (el valor predeterminado es " "``False``)." #: ../Doc/library/asyncore.rst:75 msgid "" "The *map* parameter is a dictionary whose items are the channels to watch. " "As channels are closed they are deleted from their map. If *map* is " "omitted, a global map is used. Channels (instances of :class:`asyncore." "dispatcher`, :class:`asynchat.async_chat` and subclasses thereof) can freely " "be mixed in the map." msgstr "" "El parámetro *map* es un diccionario cuyos elementos son los canales a " "observar. A medida que se cierran los canales, se eliminan del mapa. Si se " "omite *map*, se utiliza un mapa global. Los canales (instancias de :class:" "`asyncore.dispatcher`, :class:`asynchat.async_chat` y subclases de los " "mismos) se pueden mezclar libremente en el mapa." #: ../Doc/library/asyncore.rst:84 msgid "" "The :class:`dispatcher` class is a thin wrapper around a low-level socket " "object. To make it more useful, it has a few methods for event-handling " "which are called from the asynchronous loop. Otherwise, it can be treated " "as a normal non-blocking socket object." msgstr "" "La clase :class:`dispatcher` es un contenedor fino alrededor de un objeto de " "socket de bajo nivel. Para hacerlo más útil, tiene algunos métodos para el " "control de eventos que se llaman desde el bucle asincrónico. De lo " "contrario, se puede tratar como un objeto de socket normal sin bloqueo." #: ../Doc/library/asyncore.rst:89 msgid "" "The firing of low-level events at certain times or in certain connection " "states tells the asynchronous loop that certain higher-level events have " "taken place. For example, if we have asked for a socket to connect to " "another host, we know that the connection has been made when the socket " "becomes writable for the first time (at this point you know that you may " "write to it with the expectation of success). The implied higher-level " "events are:" msgstr "" "La activación de eventos de bajo nivel en determinados momentos o en " "determinados estados de conexión indica al bucle asincrónico que se han " "producido ciertos eventos de nivel superior. Por ejemplo, si hemos pedido " "un socket para conectarse a otro host, sabemos que la conexión se ha " "realizado cuando el socket se vuelve *grabable* por primera vez (en este " "punto sabe que puede escribir a él con la expectativa de éxito). Los " "eventos de nivel superior implícitos son:" #: ../Doc/library/asyncore.rst:98 msgid "Event" msgstr "Evento" #: ../Doc/library/asyncore.rst:98 msgid "Description" msgstr "Descripción" #: ../Doc/library/asyncore.rst:100 msgid "``handle_connect()``" msgstr "``handle_connect()``" #: ../Doc/library/asyncore.rst:100 msgid "Implied by the first read or write event" msgstr "Implícito en el primer proceso de lectura o escritura" #: ../Doc/library/asyncore.rst:103 msgid "``handle_close()``" msgstr "``handle_close()``" #: ../Doc/library/asyncore.rst:103 msgid "Implied by a read event with no data available" msgstr "Implícito en un evento de lectura sin datos disponibles" #: ../Doc/library/asyncore.rst:106 msgid "``handle_accepted()``" msgstr "``handle_accepted()``" #: ../Doc/library/asyncore.rst:106 msgid "Implied by a read event on a listening socket" msgstr "Implícito en un evento de lectura en un socket de escucha" #: ../Doc/library/asyncore.rst:110 msgid "" "During asynchronous processing, each mapped channel's :meth:`readable` and :" "meth:`writable` methods are used to determine whether the channel's socket " "should be added to the list of channels :c:func:`select`\\ ed or :c:func:" "`poll`\\ ed for read and write events." msgstr "" "Durante el procesamiento asincrónico, se utilizan los métodos :meth:" "`readable` y :meth:`writable` de cada canal asignado para determinar si el " "socket del canal deberían ser agregados a la lista de canales :c:func:" "`seleccionados