В чем разница между socket.io-client и socket.io?socket.io-client vs socket.io
Я также нахожу немного запутанным, что Socket.io-клиент также имеет раздел для "server-side usage"
В чем разница между socket.io-client и socket.io?socket.io-client vs socket.io
Я также нахожу немного запутанным, что Socket.io-клиент также имеет раздел для "server-side usage"
socket-io.client
код для реализации на стороне клиента в Socket.io. Этот код может использоваться либо клиентом браузера, либо серверным процессом, который инициирует соединение socket.io с каким-либо другим сервером (таким образом, он играет роль на стороне клиента в соединении socket.io).
Сервер, который не инициирует подключения socket.io к другим серверам, не будет использовать этот код. Это было немного запутанно, что, вероятно, это должно произойти потому, что при использовании socket.io кажется, что и клиент, и сервер используют тот же файл socket.io.js
(потому что оба они ссылаются на файл с тем же именем), но не на самом деле случай. Сервер использует другой файл, отличный от клиента.
От Github page for socket-io.client:
Автономная сборка Socket.io-клиент подвергается автоматически Socket.io сервер как /socket.io/socket.io.js. В качестве альтернативы вы можете обслуживать файл socket.io.js, найденный в корне этого репозитория.
Имейте в виду, что существуют уникальные функции, которые принадлежат клиенту и серверу, поэтому не должно быть неожиданностью, что они используют какой-то другой код. Хотя они совместно используют код для разбора протокола и тому подобное, сервер имеет возможность запускать сервер или подключаться к существующему веб-серверу, и он имеет методы, такие как .join()
и .leave()
, и структуры данных, которые отслеживают все подключенные сокеты и Ожидается, что он будет жить в среде node.js. Клиент имеет возможность инициировать соединение (отправлять правильный HTTP-запрос), делать опрос, если веб-сокеты не поддерживаются, строить на основе собственной реализации webSocket, если они есть, и т. Д.