aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/developers-handbook/sockets
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/developers-handbook/sockets')
-rw-r--r--documentation/content/ru/books/developers-handbook/sockets/_index.adoc2
-rw-r--r--documentation/content/ru/books/developers-handbook/sockets/_index.po90
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