По сути, я провел целый день (3/4+ часа), работая над проектом, компенсируя потерянные часы. И я должен сказать, что мне удалось проделать немалую работу. Вот чего я добился на данный момент.

Во-первых, я сделал модуль с классами и определениями для всего проекта, чтобы все было более организованно и читабельно.

Затем я реализовал систему длинных сообщений. Поскольку у меня были проблемы с чтением входящих сообщений, я написал несколько строк в каждой процедуре отправки и получения. Теперь каждый из них сначала отправляет (или получает) длину, конечно, в формате XML, а затем само сообщение. Честно говоря, это было довольно сложно, так как мне нужно было найти способ, чтобы длинное сообщение имело фиксированную длину, но мне удалось найти способ.

Сделав код более читабельным, снова написав серверный скрипт с нуля (более или менее, я скопировал пример, который нашел в Интернете, отредактировал его под свои нужды, а затем добавил больше кода) и проделав то же самое с основным клиентом, я получил себя рабочая настройка отправки и получения. Я мог бы написать сообщение от клиента, и сервер показал бы его на экране. Для меня это веха.

Последнее, что я сделал, это решил некоторые проблемы, которые у меня были с модулем синтаксического анализатора XML: мне нужно было найти способ обработки экранирующих символов в строке XML. Как ни странно, я нашел это, когда пытался написать «❤». Парсер подумал, что это токен, поэтому все программное обеспечение рухнуло. Я исправил это, сначала очистив ввод и заменив виновные символы соответствующими XML заменами сущностей.

Итак, после всего этого у меня теперь есть рабочая установка. Следующие вещи в книге:

☐ Делаем программу многопользовательской

☐ Написание класса сервера

О, и P.S. Я переключил свой основной редактор с Atom на VS Code, и это потрясающе! Благодаря его интеграции я тем временем тоже учусь использовать git!

Становится сильным ;D