From: Rishat-F <66554797+Rishat-F@users.noreply.github.com> Date: Mon, 3 Feb 2025 13:33:39 +0000 (+0300) Subject: 🌐 Add Russian translation for `docs/ru/docs/advanced/websockets.md` (#13279) X-Git-Tag: 0.115.9~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=633ed1d8aff74a2575512d95c644ba9f2084b801;p=thirdparty%2Ffastapi%2Ffastapi.git 🌐 Add Russian translation for `docs/ru/docs/advanced/websockets.md` (#13279) --- diff --git a/docs/ru/docs/advanced/websockets.md b/docs/ru/docs/advanced/websockets.md new file mode 100644 index 0000000000..bc9dfcbffb --- /dev/null +++ b/docs/ru/docs/advanced/websockets.md @@ -0,0 +1,186 @@ +# Ðеб-ÑокеÑÑ + +ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð²ÐµÐ±-ÑокеÑÑ Ð² **FastAPI**. + +## УÑÑановка `WebSockets` + +УбедиÑеÑÑ, ÑÑо [виÑÑÑалÑÐ½Ð°Ñ ÑÑеда](../virtual-environments.md){.internal-link target=_blank} Ñоздана, акÑивиÑÑйÑе ÐµÑ Ð¸ ÑÑÑановиÑе `websockets`: + +
+
+ÐÑ Ð¼Ð¾Ð¶ÐµÑе набиÑаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð² поле ввода и оÑпÑавлÑÑÑ Ð¸Ñ
:
+
+
+
+РваÑе **FastAPI** пÑиложение Ñ Ð²ÐµÐ±-ÑокеÑами оÑвеÑиÑ:
+
+
+
+ÐÑ Ð¼Ð¾Ð¶ÐµÑе оÑпÑавлÑÑÑ Ð¸ полÑÑаÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво ÑообÑений:
+
+
+
+РвÑе они бÑдÑÑ Ð¸ÑполÑзоваÑÑ Ð¾Ð´Ð½Ð¾ и Ñо же веб-ÑÐ¾ÐºÐµÑ Ñоединение.
+
+## ÐÑполÑзование `Depends` и не ÑолÑко
+
+ÐÑ Ð¼Ð¾Ð¶ÐµÑе импоÑÑиÑоваÑÑ Ð¸Ð· `fastapi` и иÑполÑзоваÑÑ Ð² ÑндпоинÑе вебÑокеÑа:
+
+* `Depends`
+* `Security`
+* `Cookie`
+* `Header`
+* `Path`
+* `Query`
+
+Ðни ÑабоÑаÑÑ Ñак же, как и в дÑÑгиÑ
FastAPI ÑндпоинÑаÑ
/*опеÑаÑиÑÑ
пÑÑи*:
+
+{* ../../docs_src/websockets/tutorial002_an_py310.py hl[68:69,82] *}
+
+/// info | ÐÑимеÑание
+
+Рвеб-ÑокеÑе вÑзÑваÑÑ `HTTPException` не Ð¸Ð¼ÐµÐµÑ ÑмÑÑла. ÐмеÑÑо ÑÑого нÑжно иÑполÑзоваÑÑ `WebSocketException`.
+
+ÐакÑÑваÑÑий ÑÑаÑÑÑ ÐºÐ¾Ð´ можно иÑполÑзоваÑÑ Ð¸Ð· valid codes defined in the specification.
+
+///
+
+### Ðеб-ÑокеÑÑ Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑÑми: пÑовеÑка в дейÑÑвии
+
+ÐÑли Ð²Ð°Ñ Ñайл назÑваеÑÑÑ `main.py`, Ñо запÑÑÑиÑе пÑиложение командой:
+
+
+
+## ÐбÑабоÑка оÑклÑÑений и ÑабоÑа Ñ Ð½ÐµÑколÑкими клиенÑами
+
+ÐÑли веб-ÑÐ¾ÐºÐµÑ Ñоединение закÑÑÑо, Ñо `await websocket.receive_text()` вÑÐ·Ð¾Ð²ÐµÑ Ð¸ÑклÑÑение `WebSocketDisconnect`, коÑоÑое можно поймаÑÑ Ð¸ обÑабоÑаÑÑ ÐºÐ°Ðº в ÑÑом пÑимеÑе:
+
+{* ../../docs_src/websockets/tutorial003_py39.py hl[79:81] *}
+
+ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑпÑоизвеÑÑи пÑимеÑ:
+
+* ÐÑкÑойÑе пÑиложение в неÑколÑкиÑ
вкладкаÑ
бÑаÑзеÑа.
+* ÐÑпÑавÑÑе из ниÑ
ÑообÑениÑ.
+* ÐаÑем закÑойÑе Ð¾Ð´Ð½Ñ Ð¸Ð· вкладок.
+
+ÐÑо вÑÐ·Ð¾Ð²ÐµÑ Ð¸ÑклÑÑение `WebSocketDisconnect`, и вÑе оÑÑалÑнÑе клиенÑÑ Ð¿Ð¾Ð»ÑÑÐ°Ñ ÑледÑÑÑее ÑообÑение:
+
+```
+Client #1596980209979 left the chat
+```
+
+/// tip | ÐÑимеÑание
+
+ÐÑиложение вÑÑе - ÑÑо вÑего лиÑÑ Ð¿ÑоÑÑой минималÑнÑй пÑимеÑ, демонÑÑÑиÑÑÑÑий обÑабоÑÐºÑ Ð¸ пеÑедаÑÑ ÑообÑений неÑколÑким веб-ÑÐ¾ÐºÐµÑ ÑоединениÑм.
+
+Ðо имейÑе в видÑ, ÑÑо ÑÑо бÑÐ´ÐµÑ ÑабоÑаÑÑ ÑолÑко в одном пÑоÑеÑÑе и ÑолÑко пока он акÑивен, Ñак как вÑÑ Ð¾Ð±ÑабаÑÑваеÑÑÑ Ð² пÑоÑÑом ÑпиÑке в опеÑаÑивной памÑÑи.
+
+ÐÑли нÑжно ÑÑо-Ñо легко инÑегÑиÑÑемое Ñ FastAPI, но более надежное и Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Redis, PostgreSQL или дÑÑгого, Ñо можно воÑполÑзоваÑÑÑÑ encode/broadcaster.
+
+///
+
+## ÐополниÑелÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ
+
+ÐÐ»Ñ Ð±Ð¾Ð»ÐµÐµ глÑбокого изÑÑÐµÐ½Ð¸Ñ ÑÐµÐ¼Ñ Ð²Ð¾ÑполÑзÑйÑеÑÑ Ð´Ð¾ÐºÑменÑаÑией Starlette:
+
+* The `WebSocket` class.
+* Class-based WebSocket handling.