diff options
Diffstat (limited to 'documentation/content/ru/books/developers-handbook/sockets')
| -rw-r--r-- | documentation/content/ru/books/developers-handbook/sockets/_index.adoc | 2 | ||||
| -rw-r--r-- | documentation/content/ru/books/developers-handbook/sockets/_index.po | 90 |
2 files changed, 46 insertions, 46 deletions
diff --git a/documentation/content/ru/books/developers-handbook/sockets/_index.adoc b/documentation/content/ru/books/developers-handbook/sockets/_index.adoc index 669a53fb60..e7bd9602bd 100644 --- a/documentation/content/ru/books/developers-handbook/sockets/_index.adoc +++ b/documentation/content/ru/books/developers-handbook/sockets/_index.adoc @@ -7,7 +7,7 @@ next: books/developers-handbook/ipv6 params: path: /books/developers-handbook/sockets/ prev: books/developers-handbook/partii -showBookMenu: true +showBookMenu: 'true' tags: ["Sockets", "Protocols"] title: 'Глава 7. Сокеты' weight: 9 diff --git a/documentation/content/ru/books/developers-handbook/sockets/_index.po b/documentation/content/ru/books/developers-handbook/sockets/_index.po index 7136478a70..6d54c894fa 100644 --- a/documentation/content/ru/books/developers-handbook/sockets/_index.po +++ b/documentation/content/ru/books/developers-handbook/sockets/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-10-12 22:16+0300\n" +"POT-Creation-Date: 2025-05-01 19:56-0300\n" "PO-Revision-Date: 2025-09-05 04:45+0000\n" "Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" "Language-Team: Russian <https://translate-dev.freebsd.org/projects/" @@ -18,13 +18,13 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:1 #, no-wrap msgid "FreeBSD Sockets" msgstr "Сокеты FreeBSD" -#. type: Yaml Front Matter Hash Value: title +#. type: YAML Front Matter: title #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:1 #, no-wrap msgid "Chapter 7. Sockets" @@ -665,14 +665,13 @@ msgid "" msgstr "" "Аргумент `domain` указывает системе, какое _семейство протоколов_ следует " "использовать. Существует множество семейств, некоторые из них специфичны для " -"определённых поставщиков, другие широко распространены. Они объявлены в " -"[.filename]#sys/socket.h#." +"определённых поставщиков, другие широко распространены. Они объявлены в [." +"filename]#sys/socket.h#." #. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:252 msgid "Use `PF_INET` for UDP, TCP and other Internet protocols (IPv4)." -msgstr "" -"Используйте `PF_INET` для UDP, TCP и других интернет-протоколов (IPv4)." +msgstr "Используйте `PF_INET` для UDP, TCP и других интернет-протоколов (IPv4)." #. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:256 @@ -682,11 +681,10 @@ msgid "" "`SOCK_STREAM`, which tells the system you are asking for a _reliable stream " "delivery service_ (which is TCP when used with `PF_INET`)." msgstr "" -"Для аргумента `type` определено пять значений, также указанных в " -"[.filename]#sys/socket.h#. Все они начинаются с \"`SOCK_`\". Наиболее " -"распространённое — `SOCK_STREAM`, которое указывает системе, что " -"запрашивается _надёжный сервис потоковой доставки_ (это TCP при " -"использовании с `PF_INET`)." +"Для аргумента `type` определено пять значений, также указанных в [.filename]#" +"sys/socket.h#. Все они начинаются с \"`SOCK_`\". Наиболее распространённое — " +"`SOCK_STREAM`, которое указывает системе, что запрашивается _надёжный сервис " +"потоковой доставки_ (это TCP при использовании с `PF_INET`)." #. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:258 @@ -795,8 +793,8 @@ msgid "" "as an array of `14` bytes, with the comment hinting there can be more than " "`14` of them." msgstr "" -"Обратите внимание на _неопределённость_, с которой объявлено поле `sa_data` " -"— просто как массив из `14` байт, с комментарием, намекающим, что их может " +"Обратите внимание на _неопределённость_, с которой объявлено поле `sa_data` —" +" просто как массив из `14` байт, с комментарием, намекающим, что их может " "быть больше `14`." #. type: Plain text @@ -1020,8 +1018,8 @@ msgstr "" "текстовую строку с текущей датой и временем в порт 13. Мы хотим использовать " "TCP/IP, поэтому нам нужно указать `AF_INET` в поле семейства адресов. " "`AF_INET` определен как `2`. Давайте используем IP-адрес `192.43.244.18`, " -"который является сервером времени федерального правительства США " -"(`time.nist.gov`)." +"который является сервером времени федерального правительства США (`time.nist." +"gov`)." #. type: Block title #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:388 @@ -1349,8 +1347,8 @@ msgid "" "problem." msgstr "" "Это _обманет_ наш компилятор, заставив его сохранить данные в _порядке " -"байтов сети_. В некоторых случаях это именно тот способ, который нужен " -"(например, при программировании на ассемблере). Однако в большинстве случаев " +"байтов сети_. В некоторых случаях это именно тот способ, который нужен (" +"например, при программировании на ассемблере). Однако в большинстве случаев " "это может вызвать проблему." #. type: Plain text @@ -1754,8 +1752,8 @@ msgstr "" "Помимо указания порта в `addr`, сервер может включать свой IP-адрес. Однако " "он может просто использовать символическую константу INADDR_ANY, чтобы " "указать, что будет обслуживать все запросы на указанный порт, независимо от " -"его IP-адреса. Этот символ, наряду с несколькими аналогичными, объявлен в " -"[.filename]#netinet/in.h#" +"его IP-адреса. Этот символ, наряду с несколькими аналогичными, объявлен в [." +"filename]#netinet/in.h#" #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:639 @@ -1884,8 +1882,8 @@ msgid "" "What happens to the old socket? It continues to listen for more requests " "(remember the `backlog` variable we passed to `listen`?) until we `close` it." msgstr "" -"Что происходит со старым сокетом? Он продолжает ожидать новые запросы " -"(помните переменную `backlog`, которую мы передали в `listen`?), пока мы не " +"Что происходит со старым сокетом? Он продолжает ожидать новые запросы (" +"помните переменную `backlog`, которую мы передали в `listen`?), пока мы не " "закроем его (`close`)." #. type: Plain text @@ -1923,8 +1921,8 @@ msgid "" "program invoked it)." msgstr "" "Это лучше всего достигается созданием _дочернего процесса_ после привязки " -"порта. Затем основной процесс завершается и возвращает управление оболочке " -"(или любой другой программе, которая его вызвала)." +"порта. Затем основной процесс завершается и возвращает управление оболочке (" +"или любой другой программе, которая его вызвала)." #. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:701 @@ -2146,7 +2144,8 @@ msgid "" " tm->tm_sec);\n" msgstr "" " tm = gmtime(&t);\n" -" fprintf(client, \"%.4i-%.2i-%.2iT%.2i:%.2i:%.2iZ\\n\",\n" +" fprintf(client, \"%.4i-%.2i-%.2iT%.2i:%.2i:%.2iZ\\n" +"\",\n" " tm->tm_year + 1900,\n" " tm->tm_mon + 1,\n" " tm->tm_mday,\n" @@ -2240,7 +2239,7 @@ msgid "" msgstr "" "Наконец, демон запускает бесконечный цикл, который выполняет следующие шаги:" -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:820 msgid "" "Call `accept`. It waits here until a client contacts it. At that point, it " @@ -2251,7 +2250,7 @@ msgstr "" "момент он получает новый сокет, `c`, который можно использовать для обмена " "данными с этим конкретным клиентом." -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:821 msgid "" "It uses the C function `fdopen` to turn the socket from a low-level _file " @@ -2262,7 +2261,7 @@ msgstr "" "низкоуровневого _дескриптора файла_ в указатель типа `FILE` в стиле C. Это " "позволит в дальнейшем использовать `fprintf`." -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:822 msgid "" "It checks the time, and prints it in the _ISO 8601_ format to the `client` " @@ -2273,7 +2272,7 @@ msgstr "" "Затем он использует `fclose` для закрытия файла. Это также автоматически " "закроет сокет." -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:824 msgid "We can _generalize_ this, and use it as a model for many other servers:" msgstr "" @@ -2292,7 +2291,7 @@ msgstr "Последовательный Сервер" msgid "serv.png" msgstr "serv.png" -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:832 msgid "" "This flowchart is good for _sequential servers_, i.e., servers that can " @@ -2309,7 +2308,7 @@ msgstr "" "обнаруживает подключение клиента, он отправляет некоторые данные и закрывает " "соединение. Вся операция может занять наносекунды, и она завершена." -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:835 msgid "" "The advantage of this flowchart is that, except for the brief moment after " @@ -2321,7 +2320,7 @@ msgstr "" "всегда активен только один _процесс_: Наш сервер не занимает много памяти и " "других системных ресурсов." -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:839 msgid "" "Note that we have added _initialize daemon_ in our flowchart. We did not " @@ -2333,7 +2332,7 @@ msgstr "" "место в потоке выполнения программы для настройки обработчиков `signal`, " "открытия необходимых файлов и т. д." -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:843 msgid "" "Just about everything in the flow chart can be used literally on many " @@ -2346,7 +2345,7 @@ msgstr "" "его как _\"чёрный ящик\"_, то есть нечто, что вы проектируете специально для " "своего сервера и просто \"подключаете к остальной системе.\"" -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:849 msgid "" "Not all protocols are that simple. Many receive a request from the client, " @@ -2363,15 +2362,15 @@ msgstr "" "процесс обслуживает своего клиента, демон может продолжать прослушивать " "новые подключения." -#. type: .procedure +#. type: Plain text #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:852 msgid "" "Now, go ahead, save the above source code as [.filename]#daytimed.c# (it is " "customary to end the names of daemons with the letter `d`). After you have " "compiled it, try running it:" msgstr "" -"Теперь сохраните приведённый исходный код в файл [.filename]#daytimed.c# " -"(обычно имена демонов оканчиваются буквой `d`). После компиляции попробуйте " +"Теперь сохраните приведённый исходный код в файл [.filename]#daytimed.c# (" +"обычно имена демонов оканчиваются буквой `d`). После компиляции попробуйте " "запустить его:" #. type: delimited block . 4 @@ -2619,8 +2618,8 @@ msgid "" msgstr "" "Хотя нет возможности передать имя домена напрямую в какие-либо функции " "сокетов, стандартная библиотека C в FreeBSD предоставляет функции " -"man:gethostbyname[3] и man:gethostbyname2[3], объявленные в " -"[.filename]#netdb.h#." +"man:gethostbyname[3] и man:gethostbyname2[3], объявленные в [.filename]#netdb" +".h#." #. type: delimited block . 4 #: documentation/content/en/books/developers-handbook/sockets/_index.adoc:959 @@ -2874,7 +2873,8 @@ msgstr "" "struct servent *se;\n" " ...\n" " if ((se = getservbyname(\"daytime\", \"tcp\")) == NULL {\n" -" fprintf(stderr, \"Cannot determine which port to use.\\n\");\n" +" fprintf(stderr, \"Cannot determine which port to use.\\n" +"\");\n" " return 7;\n" " }\n" " sa.sin_port = se->s_port;\n" @@ -2984,11 +2984,11 @@ msgid "" "no longer functional but still roaming around." msgstr "" "В UNIX(R) процесс на самом деле не _завершается_. Вместо этого он " -"_возвращается_ к своему родителю. Обычно родительский процесс ``ждёт`` " -"(wait) завершения своего дочернего процесса и получает возвращаемое " -"значение. Однако наш _демон-процесс_ не может просто остановиться и ждать. " -"Это бы свело на нет всю цель создания дополнительных процессов. Но если он " -"никогда не выполняет `wait`, его дочерние процессы станут _зомби_ — более не " +"_возвращается_ к своему родителю. Обычно родительский процесс ``ждёт`` (wait)" +" завершения своего дочернего процесса и получает возвращаемое значение. " +"Однако наш _демон-процесс_ не может просто остановиться и ждать. Это бы " +"свело на нет всю цель создания дополнительных процессов. Но если он никогда " +"не выполняет `wait`, его дочерние процессы станут _зомби_ — более не " "функционирующими, но всё ещё бродящими вокруг." #. type: Plain text |
