Size: a a a

JavaScript fwdays

2020 June 30

ES

Evg Sevg in JavaScript fwdays
Timur Shemsedinov
Делали, можно на ноде, точно также, так же, как на другом языке, задача сложная, но подъемная
Как UDP клиент и сервер написать я знаю, вопрос в другом, как написать надстройку над UDP которая проверяла бы целостность данных, и если бы данные не были дослоны, просила бы дослать, понятно, что нужно использовать var createRingBuffer = function(length){

let pointer = 0, buffer = [];

 return {
   get  : function(key){return buffer[key];},
   push : function(item){
     buffer[pointer] = item;
     pointer = (length + pointer +1) % length;
   },
   buffer : buffer
 };
};
let rbuffer = createRingBuffer(3);
rbuffer.push('123');
rbuffer.push('678');
rbuffer.push('567');
alert(rbuffer.buffer.toString());
rbuffer.push('567');
alert(rbuffer.buffer.toString());
let el = rbuffer.get(0);
console.log(el);
источник

ES

Evg Sevg in JavaScript fwdays
или через очереди var circular = new Array();
maxLength = 4;
var addElementToQueue = function(element){
   if(circular.length == maxLength){
       circular.pop();
   }
   circular.unshift(element);
};
addElementToQueue(1);
addElementToQueue(2);
addElementToQueue(3);
addElementToQueue(4);
источник

ES

Evg Sevg in JavaScript fwdays
Вроде гугл уже это давно заюзал и использует в тихаря😋
источник

ES

Evg Sevg in JavaScript fwdays
забыл совсем данные будут приходить на сервер рандомно, ка реализовать, что бы обрвботка выполнялось в порядке очереди, есть уже готовый инструментарий в ноде или нет, что бы не писать свои велосипеды🤪
источник

TS

Timur Shemsedinov in JavaScript fwdays
Evg Sevg
забыл совсем данные будут приходить на сервер рандомно, ка реализовать, что бы обрвботка выполнялось в порядке очереди, есть уже готовый инструментарий в ноде или нет, что бы не писать свои велосипеды🤪
Http3 делают в ноде, а до того нет встроенных средств, свое не придумывай, это сложная задача, ищи спецификацию rfc протокола как http3 (quic) или проще и потом реализацию или пиши реализацию, если нет хорошей и если есть запал или присоединяйся к разработке http3 (это лучше всего)
источник

ES

Evg Sevg in JavaScript fwdays
Timur Shemsedinov
Http3 делают в ноде, а до того нет встроенных средств, свое не придумывай, это сложная задача, ищи спецификацию rfc протокола как http3 (quic) или проще и потом реализацию или пиши реализацию, если нет хорошей и если есть запал или присоединяйся к разработке http3 (это лучше всего)
скажите а вы планируете делать лекции по подобной тематике http3 (quic)?Или отдельную лекцию по разработке сетевых протоколов,желательно не на цешном https://www.google.com/search?q=boost+c%2B%2B&oq=boost&aqs=chrome.1.69i57j69i59j0l5j69i65.4685j0j7&sourceid=chrome&ie=UTF-8 бусте, как в универе, а по взрослому на расте...🤷🏻‍♂️
источник

ES

Evg Sevg in JavaScript fwdays
источник

ES

Evg Sevg in JavaScript fwdays
Или может доклад на конференции?🧐
источник

TS

Timur Shemsedinov in JavaScript fwdays
Evg Sevg
Или может доклад на конференции?🧐
источник

ES

Evg Sevg in JavaScript fwdays
Спасибо.А сами не собираетесь доклад делать по подобной тематике? Было бы интересно, что бы не набить себе шишек, которых и так хватает...😀
источник

TS

Timur Shemsedinov in JavaScript fwdays
Evg Sevg
Спасибо.А сами не собираетесь доклад делать по подобной тематике? Было бы интересно, что бы не набить себе шишек, которых и так хватает...😀
У меня был курс по проектированию протоколов 5 лет назад, но я его не записал, к сожалению, а сейчас я другим занимаюсь и нет времени его обновить и записать.
источник

TS

Timur Shemsedinov in JavaScript fwdays
источник

ES

Evg Sevg in JavaScript fwdays
скажите а вы не собираетесь  обнародовать электронные версии по сетевым протоколам материалов в ближайшее время?По сетям возникает целый ряд вопросов  а именно->UDP и шифрование это вещи  мало совместимые
Как измениться структура, которая передается в сокет от разрядности?
Касаемо сжатия и шифрования: сначала пакет сжимаем, а потом через SSL сокет кидаем его?Обычно делают начальное слово, что было понятно с чего пакет начинается, потом сам пакет, потом его контрольная сумма, потом некое конечное слово.Насколько я помню с универа...
источник

ES

Evg Sevg in JavaScript fwdays
struct header1
{
  int codingtype;
  int unzipsize;

}struct header2
{
  int type;
  int size;
 
}один чисто размер шифрованого/сжатого сообщения + какой-нибудь тип кодирования. Второй, содержащий информацию о данных, прятал бы внутрь. Только вот как это правильно сделать, можно линк бросить, если кто знает?🤷‍♂️🤯
источник

AL

Andrey Listochkin in JavaScript fwdays
Evg Sevg
скажите а вы не собираетесь  обнародовать электронные версии по сетевым протоколам материалов в ближайшее время?По сетям возникает целый ряд вопросов  а именно->UDP и шифрование это вещи  мало совместимые
Как измениться структура, которая передается в сокет от разрядности?
Касаемо сжатия и шифрования: сначала пакет сжимаем, а потом через SSL сокет кидаем его?Обычно делают начальное слово, что было понятно с чего пакет начинается, потом сам пакет, потом его контрольная сумма, потом некое конечное слово.Насколько я помню с универа...
> UDP и шифрование.

Почитай главы https://hpbn.co/ по UDP и WebRTC. Там маленько рассказывается про те задачи, которые ты пытаешься решить.
источник

ES

Evg Sevg in JavaScript fwdays
использую OpenSSL на шифрование
gzip на сжатие🤏🏼
источник

ES

Evg Sevg in JavaScript fwdays
Andrey Listochkin
> UDP и шифрование.

Почитай главы https://hpbn.co/ по UDP и WebRTC. Там маленько рассказывается про те задачи, которые ты пытаешься решить.
Спасибо,информации вообще немного.Вот еще на хабре нашел https://habr.com/ru/post/42940/
источник

TS

Timur Shemsedinov in JavaScript fwdays
Evg Sevg
скажите а вы не собираетесь  обнародовать электронные версии по сетевым протоколам материалов в ближайшее время?По сетям возникает целый ряд вопросов  а именно->UDP и шифрование это вещи  мало совместимые
Как измениться структура, которая передается в сокет от разрядности?
Касаемо сжатия и шифрования: сначала пакет сжимаем, а потом через SSL сокет кидаем его?Обычно делают начальное слово, что было понятно с чего пакет начинается, потом сам пакет, потом его контрольная сумма, потом некое конечное слово.Насколько я помню с универа...
Я это 1 год читал в виде лекций, но видео не осталось, все, что получилось в результате - несколько протоколов, которые мы вместе со студентами сделали, например jstp
источник

TS

Timur Shemsedinov in JavaScript fwdays
Evg а чем тебе TLS не подходит?
источник

ES

Evg Sevg in JavaScript fwdays
медленный он за счет проверок всяких, ну и udp для мобайла больше подходит.По сетевым протоколам можно с универа что подсмотреть, у меня затыка как написать надстройку над UDP, когда напишу тогда все станет на свои места🤓!
источник