#node.js #socket.io
#node.js #socket.io
Вопрос:
Я ломал голову над пониманием того, что именно такое socket.ввод-вывод и его роль во всей постоянной связи между клиентом и сервером в целом. Некоторые фундаментальные вопросы, которые постоянно возникают у меня в голове: :
- Являются node.js и розетка.сервер ввода-вывода разными способами выполняет одно и то же? Нравится lighthttpd и apache?
- Почему я должен использовать сокет.сервер ввода-вывода, если у меня есть node.js ?
- Могу ли я использовать сокет.клиент ввода-вывода с другим языком программирования на стороне сервера, таким как PHP?
- Существуют ли альтернативы использованию сокета.клиент ввода-вывода?
- Является сокетом.клиент ввода-вывода — просто еще одна библиотека javascript для связи с websocket?
Спасибо 🙂
Ответ №1:
Сокет.Сервер ввода-вывода принимает соединения из сокета.Клиенты ввода-вывода. Это ничем не отличается от любого другого сервера (например, веб-сервера, такого как Apache), принимающего соединение от клиента (например, веб-браузера, такого как Internet Explorer).
Node.js это платформа, построенная поверх движка JavaScript версии 8, который поставляется с удобной библиотекой, обычно используемой для веб-и сетевых приложений. Сокет.IO — это оболочка связи, похожая на веб-сокет, и RPC, которая позволяет серверам и клиентам обмениваться данными по различным каналам передачи (от JSON с длительным опросом до реальных веб-сокетов). Как правило, сокет.Код сервера ввода-вывода выполняется в вашем приложении JavaScript, работающем поверх Node.js , и Розетка.Клиент ввода-вывода запускается в вашем JavaScript в веб-браузере. (Обратите внимание, что вы можете запустить сокет.Клиент ввода-вывода в вашем Node.js приложение к, которое я использовал в прошлом как быстрый RPC между несколькими Node.js приложения.)
Есть сокет.Клиенты ввода-вывода доступны для многих языков, и да, я считаю, что есть один для PHP, но я не использовал его лично.
Если вы хотите взаимодействовать с сокетом.Сервер ввода-вывода, вы должны использовать сокет.Клиент ввода-вывода. Это протокол сам по себе.
Ответ №2:
Являются node.js и розетка.сервер ввода-вывода разными способами выполняет одно и то же?
На самом деле SocketIO — это механизм ввода-вывода, который позволяет осуществлять связь в реальном времени между клиентом и сервером, в отличие от классических HTTP-запросов.
Почему я должен использовать сокет.сервер ввода-вывода, если у меня есть node.js ?
Поскольку оба они разные, мы не можем сравнивать.
Могу ли я использовать сокет.клиент ввода-вывода с другим языком программирования на стороне сервера, таким как PHP?
Нет, потому что сервер SocketIO работает в среде NodeJS. Клиент сначала делает HTTP-запрос, затем SocketIO отправляет статический JS-скрипт клиенту. Этот скрипт устанавливает двустороннюю связь. Но вы можете использовать сервер SocketIO с другой реализацией клиента SocketIO.
Существуют ли альтернативы использованию сокета.клиент ввода-вывода?
Любая клиентская реализация SocketIO может выполнить эту работу, поскольку они подключены к серверу. Но остерегайтесь асинхронного способа связи, например, в Java или PHP.
Является сокетом.клиент ввода-вывода — просто еще одна библиотека javascript для связи с websocket?
Да, это так, но SocketIO нацелен на надежность и простоту в использовании, а также прилагает все усилия: выбирает наилучший транспорт, доступный для клиента.
Надеюсь, это поможет!
Ответ №3:
Являются node.js и розетка.сервер ввода-вывода разными способами выполняет одно и то же? Нравится lighthttpd и apache?
Сокет.io — это фреймворк / библиотека для node.js
Почему я должен использовать сокет.сервер ввода-вывода, если у меня есть node.js ?
Это фреймворк, предназначенный для двусторонней связи, используйте его, если хотите
Могу ли я использовать сокет.клиент ввода-вывода с другим языком программирования на стороне сервера, таким как PHP?
Технически да. Но тогда вам придется переопределить сокет.сервер ввода-вывода на этом другом языке, чтобы соответствовать ему.
Существуют ли альтернативы использованию сокета.клиент ввода-вывода?
Много, google для веб-сокета / общения в реальном времени на [здесь укажите свой язык]
Является сокетом.клиент ввода-вывода — просто еще одна библиотека javascript для связи с websocket?
Сокет.клиент ввода-вывода — это библиотека JavaScript, совместимая с сокетом.сервер ввода-вывода (который также является библиотекой JavaScript, только на стороне сервера, т.е. Node.js )