Jump to content
Sign in to follow this  
nyarum12

Эмулятор серверной части от Джана

Recommended Posts

Проект эмулятора закрыт навсегда, больше возвращения к нему не будет в моей жизни.

Весь необходимый опыт, который он мне дал за всю жизнь, что я его писал (2 версии на Go и 1 версия на Crystal) - неоценим, но дальше я буду развиваться в других сферах

Эти сферы будут связаны с проектами семьи в том числе компании по дизайну и аналитикой в сфере криптовалют

Каналы по эмулятору будут закрыты в течении 1 дня, чтобы дать людям возможность прочесть это сообщение

Спасибо всем, кто следил и верил - всех люблю ❤️

Репозитории и серия стримов останутся

@V3ct0r тему можно перемещать в архив и закрывать, больше она не понадобится

Share this post


Link to post
Share on other sites
14 hours ago, nyarum12 said:

Проект эмулятора закрыт навсегда, больше возвращения к нему не будет в моей жизни.

Весь необходимый опыт, который он мне дал за всю жизнь, что я его писал (2 версии на Go и 1 версия на Crystal) - неоценим, но дальше я буду развиваться в других сферах

Эти сферы будут связаны с проектами семьи в том числе компании по дизайну и аналитикой в сфере криптовалют

Каналы по эмулятору будут закрыты в течении 1 дня, чтобы дать людям возможность прочесть это сообщение

Спасибо всем, кто следил и верил - всех люблю ❤️

Репозитории и серия стримов останутся

@V3ct0r тему можно перемещать в архив и закрывать, больше она не понадобится

Привет!

 

Самое главное, что ты получил большой опыт в ходе работы над своим проектом. Тут и разные модели сетевого ввода/вывода, работа с базой данных, многопоточность, вопросы архитектуры, непосредственно изучение новых языков программирования и другие вещи. Желаю тебе удачи в новых предметных областях!


Share this post


Link to post
Share on other sites

Привет, @nyarum12!

 

Рад, что ты все-таки не забросил это дело. Буду ждать завтра новостей на ютубе.

 

  • Like 1

Share this post


Link to post
Share on other sites

Привет, @nyarum12!

 

Посмотрел вчера видео, спасибо!

 

Ты рассказывал про обработку пинг-пакета от клиента: если от клиента пришел пакет длиной в 2 байта, то это пинг пакет и его надо отправить клиенту обратно, "говорим что сервер живой". 

 

Я думаю, что это должно работать следующим образом:

1) Сервер раз в N секунд отправляет клиенту пинг-пакет и сохраняет текущее время;

2) Клиент, получив пинг-пакет от сервера, должен отправить его обратно;

3) Если сервер не получил от клиента ответ через T секунд (где T - максимальное время пинга), то разрывает соединение (закрывает сокет) с этим клиентом.

 

То есть это сервер проверяет что клиент "живой", а не наоборот.

 

Насколько я помню, клиент самостоятельно не отправит пинг-пакет серверу, если последний не попросит, но могу ошибаться.

 

UPD: Оказывается я уже писал об этом в данном топике 13 сентября.


Share this post


Link to post
Share on other sites
17 часов назад, V3ct0r сказал:

Привет, @nyarum12!

 

Посмотрел вчера видео, спасибо!

 

Ты рассказывал про обработку пинг-пакета от клиента: если от клиента пришел пакет длиной в 2 байта, то это пинг пакет и его надо отправить клиенту обратно, "говорим что сервер живой". 

 

Я думаю, что это должно работать следующим образом:

1) Сервер раз в N секунд отправляет клиенту пинг-пакет и сохраняет текущее время;

2) Клиент, получив пинг-пакет от сервера, должен отправить его обратно;

3) Если сервер не получил от клиента ответ через T секунд (где T - максимальное время пинга), то разрывает соединение (закрывает сокет) с этим клиентом.

 

То есть это сервер проверяет что клиент "живой", а не наоборот.

 

Насколько я помню, клиент самостоятельно не отправит пинг-пакет серверу, если последний не попросит, но могу ошибаться.

 

UPD: Оказывается я уже писал об этом в данном топике 13 сентября.


Привет :)
Не возвращался к старому треду, но реальность такова, что клиент сам занимается "пингованием" сервера, и если он не услышит от сервера обратный пинг-ответ, то разрывает связь
Так что мне не пришлось реализовывать дополнительную пинг составляющую

Это видно по wireshark, он сразу же присылает пинг пакет после отправки сервером текущего времени

Так что это разделено на 2 части:
- Хендшейк пакет от сервера с текущим временем (этот пакет имеет опкод), на что клиент отвечает кредами от авторизации
- Пинг пакет от клиента, сервер должен отослать просто пакет из 2-х байт (это не имеет опкода, пакетом даты не считается)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...