Введение в сокеты TCP в Rust
Сокет TCP держит устойчивое соединение между двумя программами и передает байты строго в том порядке, в котором их отправили. Один участник слушает порт и ждет гостей, другой указывает адрес и открывает канал для записи и чтения. Так устроены многие сетевые службы и простые учебные примеры.
В стандартной библиотеке Rust для этого есть модуль сети с типами потока и слушателя. Поток ведет себя как файл: в него пишут и из него читают порциями байт. Слушатель привязывают к адресу с портом, затем ждут, пока кто-то подключится.
Операции с сетью возвращают результат ввода-вывода. Удачная привязка открывает порт, удачное подключение дает поток, чтение сообщает, сколько байт пришло. Ошибки разбирают через сопоставление, а не через остановку программы на месте.
Дальше соберем клиента, сервер на одном соединении, обмен текстовыми строками, цикл приема нескольких гостей подряд и закрепим прием на задачах.