Рубрика «udp» - 2
Pixockets: как мы написали собственную сетевую библиотеку для игрового сервера
2020-04-29 в 14:06, admin, рубрики: .net, game development, Gamedev, networking, udp, Блог компании Pixonic, Программирование, разработка игр, Сетевые технологииПривет! На связи Станислав Яблонский, Lead Server Developer из Pixonic.
Когда я только пришел в Pixonic, наши игровые сервера представляли собой приложения на основе Photon Realtime SDK: многофункционального, но весьма тяжелого фреймворка. Решение это, казалось бы, должно было упростить работу с сервером. Так оно и было ― до определенного момента.
Photon Realtime привязывал нас к себе тем, что приходилось использовать его для обмена данными между игроками и сервером, ― а также привязывал к ОС Windows, поскольку может работать только на ней. Это накладывало на нас ограничения как с точки зрения runtime (среды исполнения): нельзя было изменить многие важные настройки виртуальной машины .NET, ― так и операционной системы. Мы привыкли работать с Linux-серверами, а не Windows. Кроме того, они нам обходились дешевле.
Также использование Photon било по производительности как на сервере, так и на клиенте, а при профилировании образовывалась приличная нагрузка на сборщик мусора и большое количество boxing/unboxing.
Короче говоря, решение с Photon Realtime было далеко от оптимального для нас, и давно надо было что-то с этим делать ― но всегда находились более срочные задачи, и до решения проблем с сервером руки банально не доходили.
Так как мне было интересно не только решить проблему, но и лучше разобраться в работе сети, я решил взять инициативу в свои руки и попробовать написать библиотеку самостоятельно. Но, сами понимаете, дома ― дом, на работе ― работа, в результате время на разработку библиотеки находилось только в транспорте. Однако это не помешало довести идею до реализации.
Что из этого вышло ― читайте дальше.
Читать полностью »
Сети для начинающего IT-специалиста. Обязательная база
2020-03-08 в 11:57, admin, рубрики: dhcp, ifconfig, lan, nat, tcp, traceroute, tracert, udp, WAN, whois, белый ip, глобальная сеть, Карьера в IT-индустрии, коммутатор, локальная сеть, маршрутизатор, роутер, свитч, серый ip, системное администрирование, Учебный процесс в IT, хабПримерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.
Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.
А также для самостоятельного изучения или для обучения новых сотрудников.
За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.
И что тогда, мне пришлось изучить множество статей в интернете, прежде чем я понял базовые моменты, и что сейчас, задавая молодым специалистам темы для изучения, они с трудом находят и усваивают необходимое. Это происходит по причине того, что в Интернете огромное количество статей и все они разрозненны по темам, либо написаны слишком сложным языком. Плюс большинство информации в начале своих статей содержат в основном просто научные определения, а дальше сразу сложные технологии использования. В итоге получается много того, что для начинающего пока совсем непонятно.
Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».
Уменьшение времени отклика при передаче данных по UDP
2020-02-25 в 14:46, admin, рубрики: benchmark, embox, latency, udp, Блог компании Embox, программирование микроконтроллеров, системное программирование Привет! В этой статье я хочу рассказать о решении одной из типичных проблем, с которой Embox справляется лучше GNU/Linux. Речь идет о времени реакции на пакет, переданный по протоколу Ethernet. Как известно, основной характеристикой передачи данных по сети является пропускная способность, и с ней у GNU/Linux все хорошо. Но когда речь заходит об уменьшении времени на прием/передачу единичного сетевого пакета, могут возникнуть проблемы. В частности, у заказчика была плата DE0-Nano-SoC с Linux, и с помощью этой платы хотелось управлять неким объектом по сети. Топология сети — точка-точка, никаких роутеров и хабов нет. По модели управления время реакции должно быть меньше 100 мкс, а на базе Linux удавалось добиться только 500 мкс.
Видеозвонки под капотом: от миллионов в сутки до 100 участников в одной конференции
2019-12-12 в 10:01, admin, рубрики: jitter, tcp, udp, WebRTC, аудиокодеки, Блог компании Mail.Ru Group, Блог компании Конференции Олега Бунина (Онтико), видеозвонки, видеокодеки, высокая производительность, Работа с видео, Разработка систем связи, сети и протоколыСейчас, кажется, невозможно найти мессенджер без функции звонков. Это удобно для пользователей, потому что все коммуникации можно вести в одном приложении. Если объединить всю доступную в СМИ статистику, то получится, что люди разговаривают через интернет более миллиарда минут в день. И по мере развития технологий растет доля видеосвязи, потому что видео лучше передает эмоции собеседника и позволяет создать эффект присутствия.
Новый вызов для сервиса видеозвонков — собрать в одной конференции сразу всю семью или компанию друзей, находящихся в разных частях света, или коллег, работающих удаленно над одним проектом, на планерку.
Руководитель разработки платформ Видео и Лента Александр Тоболь (alatobol) покажет, что под капотом у сервиса видеозвонков, какие технологии и хаки применить, чтобы сделать свой сервер конференций, и как правильно передавать видео. Заходите под кат и узнаете, как перевести сервис звонков один на один к групповым звонкам на 100 человек и зачем вообще нужна поддержка такого количества участников.
Читать полностью »
Видеозвонки, WebRTC и браузер: как это работает и как согреть «замерзающую» трансляцию
2019-11-07 в 13:44, admin, рубрики: skyeng, udp, WebRTC, Блог компании Skyeng, браузер, браузеры, Веб-разработка, видео, видеоконференцсвязь, задержка, потеря пакетов, Работа с видео, Сетевые технологии, трансляция, трансляция видео, фризыДля большинства из нас видеосвязь в браузере — нечто вроде черного ящика. Есть изображение собеседника на экране, звук, возможность общения. Но что происходит там, внутри? Об этом сегодня и поговорим.
Статья сделана на основе доклада нашего сотрудника, Кирилла Рогового. Он занимается настройкой видеосвязи в Skyeng и стремится сделать видеосвязь не просто хорошей, а очень хорошей. Он поделился своим опытом, наработками и наблюдениями по WebRTC (Web Real Time Communications), что было оформлено в виде статьи. В ней разбираются не только принципы работы технологии, но и важные моменты процесса улучшения качества видеосвязи. Все это и немного больше — под катом.
Читать полностью »
HTTP-3: разрушение основ и дивный новый мир
2019-10-31 в 13:45, admin, рубрики: dodois, dodopizza, dodopizzaengineering, gQUIC, http, http/2, IT-стандарты, QUIC, SPDY, tcp, TLS, udp, Блог компании Dodo Pizza Engineering, протоколы передачи данных, Сетевые технологии, стандартыВот уже больше 20 лет мы смотрим веб-странички по протоколу HTTP. Большинство пользователей вообще не задумывается о том, что это такое и как оно работает. Другие знают, что где-то под HTTP есть TLS, а под ним TCP, под которым IP и так далее. А третьи – еретики считают, что TCP – это прошлый век, им хочется чего-то более быстрого, надёжного и защищённого. Но в своих попытках изобрести новый идеальный протокол они вернулись к технологиям 80-х годов и пытаются построить на них свой дивный новый мир.
Читать полностью »
Портируем многопользовательскую игру с С++ на веб c Cheerp, WebRTC и Firebase
2019-09-20 в 8:53, admin, рубрики: c++, stun, TURN, udp, webassembly, WebRTC, Компиляторы, разработка игр, сетевые протоколы, Сетевые технологииВведение
Наша компания Leaning Technologies предоставляет решения по портированию традиционных desktop-приложений в веб. Наш компилятор C++ Cheerp генерирует сочетание WebAssembly и JavaScript, что обеспечивает и простое взаимодействие с браузером, и высокую производительность.
В качестве примера его применения мы решили портировать для веба многопользовательскую игру и выбрали для этого Teeworlds. Teeworlds — это многопользовательская двухмерная ретро-игра с небольшим, но активным сообществом игроков (в их числе и я!). Она мала как с точки зрения скачиваемых ресурсов, так и требований к ЦП и GPU — идеальный кандидат.

Работающая в браузере Teeworlds
Читать полностью »
О сетевой модели в играх для начинающих
2019-09-12 в 4:56, admin, рубрики: tcp, udp, Игры и игровые приставки, компенсация лагов, разработка игр, сетевые протоколы, Сетевые технологии, читерство, шифрование трафика
Последние две недели я работал над сетевым движком для своей игры. До этого я вообще ничего не знал о сетевых технологиях в играх, поэтому прочитал множество статей и провёл множество экспериментов, чтобы уяснить все концепции и иметь возможность написать собственный сетевой движок.
В этом руководстве я хотел бы поделиться с вами различными концепциями, которые вам нужно изучить перед написанием собственного игрового движка, а также самыми лучшими ресурсами и статьями для их изучения.
В целом существует два основных типа сетевых архитектур: peer-to-peer и клиент-серверная. В архитектуре peer-to-peer (p2p) данные передаются между любыми парами подключенных игроков, а в клиент-серверной архитектуре данные передаются только между игроками и сервером.
Хотя архитектура peer-to-peer по-прежнему используется в некоторых играх, стандартом является клиент-серверная: она проще в реализации, требует канал меньшей ширины и облегчает защиту от читерства. Поэтому в этом руководстве мы сосредоточимся на клиент-серверной архитектуре.
Читать полностью »
ShIoTiny: вентиляция влажного помещения (проект-пример)
2019-08-21 в 9:20, admin, рубрики: automatization, electronics design, esp8266, http, IoT, mqtt, udp, Беспроводные технологии, Интернет вещей, программирование микроконтроллеров, Производство и разработка электроники, умный домОсновные тезисы или о чем эта статья
Продолжаем цикл статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266.
В этот статье рассказано на примере проекта управления вентиляции в ванной комнате или другом помещении с повышенной влажностью о том, как строится программа для ShIoTiny.
Предыдущие статьи серии.
ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска»
ShIoTiny: узлы, связи и события или особенности рисования программ
Ссылки
Бинарные прошивки, схема контроллера и документация
Инструкция и описание узлов
Настройка MQTT брокера cloudmqtt.com
Панель управления MQTT dashboard для Android