Рубрика «socket» - 2

Здравствуйте, меня зовут Александр Зеленин, я веб разработчик. Сегодня хочу рассказать, как могут работать сайты в условиях нестабильного подключения как и обещал. Проще говоря, что делать если отключили интернет, а деньги зарабатывать надо.

Рассмотрим 3 примера: интернет-магазин, кинотеатр и онлайн-плеер. Для магазина и кинотеатра так же идет разделение на 2 части — что делать на стороне пользователя и на стороне оператора/продавца.
Читать полностью »

Однажды с коллегой столкнулись с проблемой реализации рилтайм мультиплеера на CoronaSDK. Сначала попробовали сервис pubnub.com, но со временем поняли, что не устраивает их latency (у них все через http) и цены. Не найдя ничего получше, решили на скорую руку создать на Node.js свой велосипед (или скорее самокат, потому как весь серверный код умещается в 90 строк с комментариями).

Назвали в шутку NoobHub. Распространяется под лицензией WTFPL.
Читать полностью »

image

Raw сокеты предоставляют программисту более широкие возможности по сравнению с остальной частью сокетного API. Все знают об этих «широких» возможностях, но более или менее систематизированное их описание встречается в Интернете нечасто. Попробуем, восполнить данный пробел и разобраться с предназначением raw cокетов и вариантами их применения в сетевом ПО.

Читать полностью »

Особенности получения пакетов через raw socket в Linux
Linux (в отличии, к примеру, от FreeBSD) позволяет использовать сырые сокеты не только для отправки, но и для получения данных. В этом месте существуют интересные грабли, на которые я наступил. Теперь спешу показать их тем, кто еще на знает, чтобы каждый, используя свой любимый язык программирования, будь то C++ или Python, мог опробовать их в деле.

Суть граблей изображена на рисунке, чтобы те, кто уже в курсе, не тратили свое время.
Читать полностью »

Корректное отключение

Для корректного завершения сетевого подключения обе стороны должны послать пакеты с сигналом о завершении (FIN), которые указывают что стороны не будут больше отсылать данные, также каждая сторона должна подтвердить (ACK) получение сигнала о завершении сетевого обмена данными. FIN инициируется когда приложение вызывает метод close(), shutdown() или exit(). После завершения работы метода close() ядро переходит в режим ожидания подтверждения от второй стороны приема сигнала о завершении. Это делает возможной ситуацию когда процесс инициировавший отключение будет завершен прежде чем ядро освободит рессурсы связанные с подключением, и снова разрешит использовать порт для связывания с другим процесоом (в этом случае, при попытке использования порта мы получим исключение AddressAlreadyInUse).

«Address Already in Use» или как избежать проблем при завершении TCP соединения
Читать полностью »

Мне предстоит проект, модуль которого будет большую часть времени работать с другим сервером, отправляя ему GET запросы.
Я провел тесты чтобы определить каким способом получать страницу будет быстрее (в рамках предполагаемых технологий проекта).

Первые 3 теста: каждым из способов выполнялось по 50 запросов подряд к одному сайту.

image
Читать полностью »

Поддержка протоколов TLS/SSL для сокетного соединения на AS3

Мы разрабатываем Flash клиент для клиент-серверного приложения с постоянным сокетным соединением и нам важно защититься от прослушки трафика. Один из способов такой защиты — SSL/TLS шифрование. Во Flash сделать это можно двумя путями — использовать родной SecureSocket или TLSSocket из библиотеки as3crypto. Ниже мы обсудим плюсы и минусы, производительность, а также проблемы с которыми мы столкнулись при внедрении обоих вариантов. Читать полностью »

Рад поделиться новостью о начале проекта с народным финансированием «Андроид розетка»!
image

Я уже рассказывал об истории этого проекта в отдельной статье. Там мы обсудили саму идею, реализацию, нашли конкурирующие технологии/продукты и главное — нашли дополнительные функции, которые в розетку удалось встроить.
Собственно теперь я хочу рассказать о законченном предложении получившегося продукта.
Читать полностью »

Приветствую! Это статья об истории (надеюсь) начала еще одного «инновационного» проекта.

Начну с истории (много букв), как я пришел к этому проекту, но кому это не очень интересно смогут перейти сразу к описанию проекта во второй части статьи.

Итак, история

Я работаю аналитиком в одной софтверно-телекомовской компании и имею хороший опыт формулирования, структуризации бизнес и системных требований. Однако, чистая аналитика пока не позволяет человеку получать готовые результаты даже несмотря на то, что позволяет вполне детально спроектировать решение какой-нибудь задачи. В прошлом году решил изучить прикладной язык программирования и начал с Java. Нашел давно заброшенный мною курс основ этого языка на intuit и дочитал. Был приятно удивлен, как быстро изучается язык, когда есть хорошая база UML.

Чтобы знания были не ради знаний я решил по окончанию курса лекций написать что-то полезное для общественности — начал с программы для андройд. Для этого изучил его фрэймворк и сделал простейшую программу PIN card для напоминания пин-кодов с помощью парольной карты (хороший реализаций на андройде не нашел — решил сделать). За пол года скачали 50 человек за доллар.
Читать полностью »

Работа с сокетами в СУБД Caché. Пример реализации серверной части протокола WebSocket
СУБД Caché для взаимодействия через TCP/IP с удалёнными процессами посредством сокетов предоставляет низкоуровневые команды, что может представлять собой сложность для новичков.

А есть ли возможность использовать сокеты «по-другому», не теряя при этом в гибкости, скорости и удобстве разработки?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js