Socket.io с PubNub... почему?

Я вижу, что PubNub говорят, что поддерживают Socket.io - http://blog.pubnub.com/node-js-supercharged-by-pubnub/#socket.io-github

Может кто-нибудь объяснить мне, что здесь происходит, потому что я думал, что PubNub выполняет ту же задачу, что и Socket.io, поскольку они оба являются абстракционным слоем для обмена сообщениями в реальном времени. На их странице GitHub говорится, что он делает Socket.io быстрее, но почему они интегрируются с другой платформой в первую очередь?

Мне кажется, что Microsoft Windows говорит, что теперь они поддерживают Linux. И если вы используете Linux под управлением Windows, у вас будет более быстрый Linux. То есть это смехотворное предложение.

Итак, в чем причина использования Socket.io с PubNub, почему бы просто не использовать PubNub самостоятельно?

Ответ 1

Socket.IO в сети PubNub

PubNub и Socket.IO - это две отдельные технологии, независимые, но подключенные к открытой мобильной сети.

Сеть потоковой передачи данных PubNub

PubNub - глобально распределенная сеть потоков данных. Доступны простые примитивы, которые делают возможным обслуживание в режиме реального времени с помощью Высокая надежность и Глобально распределенных центров данных.

Socket.IO Realtime Framework

Socket.IO - это фреймворк с абстрактными концепциями, которые делают сетевую связь более надежной с некоторыми замечательными функциями и используют шаблоны, чтобы упростить ее. Рассмотрим, что Socket.IO - это подключение к сети, поскольку jQuery относится к HTML/JavaScript. PubNub - это облако сокетов TCP. Socket.IO - это структура, которая имеет шаблоны проектирования. Socket.IO - хорошая структура поверх PubNub, которая дает вам довольно красивые и простые в использовании шаблоны дизайна. Socket.IO также имеет серверный компонент, написанный в Node.JS, который требует, чтобы вы использовали свой собственный кластер серверов для работы. Включение Socket.IO в PubNub устраняет необходимость использования и запуска вашего собственного кластера серверов.

Также подумайте, что Socket.IO SDK для PubNub предназначен для людей, которые начали с socket.io, но хотят перейти на PubNub. В противном случае нет необходимости использовать библиотеку socket.io, если вы начинаете сначала с PubNub.

PubNub Удаляет потребность в серверной части, поэтому вы можете сосредоточиться на создании своих приложений.

Также те, кто знаком с Socket.IO API, смогут легко переносить свой существующий JavaScript-код Socket.IO прямо на PubNub - https://github.com/pubnub/javascript/tree/master/socket.io#how-to-use

Socket.IO Быстрое начало

Socket.IO позволяет испускать и получать пользовательские события. Зарезервированные события: connect, message, disconnect, reconnect, ping, join и leave.

Отправка и получение событий.

<script src="http://cdn.pubnub.com/socket.io.min.js"></script>
<script>
(function(){

    // IMPORTANT: PubNub Setup with API Keys
    var pubnub_setup = {
        channel       : 'my_mobile_app',
        publish_key   : 'demo',
        subscribe_key : 'demo'
    };

    var socket = io.connect( 'http://pubsub.pubnub.com', pubnub_setup );

    socket.on( 'connect', function() {
        console.log('Connection Established! Ready to send/receive data!');
        socket.send('my message here');
        socket.send(1234567);
        socket.send([1,2,3,4,5]);
        socket.send({ apples : 'bananas' });
    } );

    socket.on( 'message', function(message) {
        console.log(message);
    } );

    socket.on( 'disconnect', function() {
        console.log('my connection dropped');
    } );

    // Extra event in Socket.IO provided by PubNub
    socket.on( 'reconnect', function() {
        console.log('my connection has been restored!');
    } );

})();
</script>