0

добавлена страница faq

This commit is contained in:
2020-08-28 02:01:06 +03:00
parent 36e9d0f68f
commit 4b61fdeae6
3 changed files with 29 additions and 0 deletions

26
src/docs/faq.rst Normal file
View File

@@ -0,0 +1,26 @@
FAQ
===
Что такое "сетевой протокол"?
-----------------------------
**Сетевой протокол Minecraft** - это описание взаимодействия между Клиентом и Сервером игры по Сети.
Данный протокол работает через `TCP-соединение`_ используя **Пакеты** в качестве транспортной единицы.
**Пакет** - это последовательность байтов, отправляемая по `TCP-соединению`_. Назначение **Пакета** определяется по его
идентификатору и текущему **Состоянию соединения**.
**Состояние соединения** (State) - это просто термин, которым обозначается группа **Пакетов**, которые можно отправть в данный момент.
Как создаётся соединение между Клиентом и Сервером?
---------------------------------------------------
1. Клиент подключается к Серверу по определённому порту *(по-умолчанию - 25565)*;
2. Клиент отправляет Пакет |HandshakePacket| Серверу с указанием следующего |State|;
3. В зависимости от указанного следующего |State|, происходит либо получение краткой информации о Сервере, либо
непосредственно подключение к игре.
.. _TCP-соединение: https://ru.wikipedia.org/wiki/Transmission_Control_Protocol
.. _TCP-соединению: `TCP-соединение`_
.. |HandshakePacket| replace:: :ref:`clientside_handshakepacket`
.. |State| replace:: :abbr:`State (Состояние соединения)`

View File

@@ -4,6 +4,7 @@
.. toctree:: .. toctree::
:maxdepth: 4 :maxdepth: 4
faq
data_types data_types
packet_format packet_format
packets packets

View File

@@ -4,6 +4,8 @@
HANDSHAKING HANDSHAKING
----------- -----------
.. _clientside_handshakepacket:
HandshakePacket HandshakePacket
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^