Очередной чекпоинт. Zifi-либа и сетевой сервер для тестирования.
В коим-то веке в выходной образовалась свободная минутка, и я решил провести ее с пользой написав небольшой пост. Тем более что предыдущую неделю я не постил ничего ввиду не таких уж и больших продвижений и желанием потратить время на создание комфортной для работы инфраструктуры.
Сразу скажу что zifi библиотека пишется. Основные функции написаны. Самая не простая функция это функция приема данных при условии что модуль работает в режиме мултисоединений. Буду ее отлаживать.
Казалось бы простая с виду задача обросла целым модулем, который умеет жить своей жизнью. ) Хочу чтобы был "черный ящик" которому мы говорим "открой соединение", "отправь данные", получаем "чистые" данные - вызывается обратным вызовом ф-ция обработки в зависимости от номера соединения своя ф-ция и свой буфер.
Пока делал появилась мысль добавить поддержку обратных вызовов, чтобы вызывать функции при приходе данных в буфер или переполнения буфера или обрыва соединения. Доработки минимум, вопрос утяжеления и целесообразности.
Также необходимо решить ряд технических моментов, например обработку ситуации когда данные пришли в буфер, а команда идентификатор IPD попала на границу приемного буфера.
А еще, для отладки/тестирования работы с мультисоединениями и обработки ситуации с переполнением буфера, написал маленький сервер, который принимает соединения и генерит в него данные любой длины, как задашь. Проект и описание тут: https://github.com/asve79/tcp-server-zifilibtest
В целом, по ощущениям, zifi не самое быстрое средство приема/отправки данных. Как я уже говорил для пошаговых игр норм а вот для он-лайн игр вопрос открыт. Гораздо приятней выглядит скорость работы через карточку zx-netysb на демке от алон-кодера. Там как-то в момент все открываться. Но пока это рассуждения. Будем тестироваться, посмотрим.
Хотел вот после zifi-либы переключиться на развитие cli2, о котором писал ранее, положив на полку планы по написанию game-сервера, но написав небольшой тестовый сервер подумал не вернуться ли к первоначальным планам. ) Пока не буду делать никаких выводом, там на месте посмотрим.
Традиционных демок пока не выкладываю т к сейчас испытываю сложности с хостингом. Планирую это решить, тогда буду стараться каждый пост чем-нибудь подкреплять.
PS. Пока писал пост, подумал что в сервере не лишним будет ф-ция имитации обрыва соединения в любое время. )
Комментарии
Трекбэков
Всего трекбэков 0
Ссылка трекбэка: