Socketio deve ser usado no node; socketio é uma biblioteca de nodejs. Ele usa funções do nodejs para encapsular algumas funções e depende de algumas APIs do nodejs, portanto, só pode ser usado no nodejs também é estabelecido entre o cliente e o servidor. Tecnologia de troca de dados de comunicação bidirecional, usando EngineIO na camada inferior.
O ambiente operacional deste artigo: sistema Windows 10, nodejs versão 16, computador Dell G3.
Socketio é uma biblioteca de nodejs. É equivalente a outras que usam funções nodejs para encapsular algumas funções para você usar. Depende de algumas APIs do nodejs, portanto, só pode ser usado em nodejs.
SocketIO é uma tecnologia de troca de dados de comunicação bidirecional estabelecida entre o cliente e o servidor, usando EngineIO na parte inferior. O cliente do SocketIO usa Engine.IO-Client e o servidor usa Engine.IO.
Expanda o conhecimento
Como funciona o SocketIO
Quando um navegador tenta estabelecer o SocketIO, o SocketIO primeiro usa a pesquisa xhr para criar uma pesquisa longa. Assim que a sondagem longa for estabelecida, ela será atualizada para uma conexão WebSocket.
A camada inferior do SocketIO é implementada usando a biblioteca EngineIO, que encapsula seu próprio protocolo Socket (temporariamente chamado de EIO Socket) usando WebSocket e XMLHttprequest. Um soquete EIO completo inclui várias conexões XHR e WebSocket.
cliente
Os soquetes EIO passam por um handshake XHR (XMLHttprequest). O front-end envia um XHR para informar ao servidor que desejo iniciar a pesquisa longa do XHR. Os dados retornados pelo backend incluem um sinalizador aberto (representado pelo número 0), bem como campos sid e upgrades, intervalo de ping e tempo limite de ping.
0{"sid": "8b7ab1ae-fbcf-4d23-8192-3c14a2a90721", "upgrades": ["websocket"], "pingInterval": 10000, "pingTimeout": 60000}sid é o ID de sessão deste soquete EIO Como um soquete EIO contém várias solicitações e o back-end se conectará a vários soquetes EIO ao mesmo tempo, o sid é equivalente ao ID de SESSÃO.
Outro campo upgrades, normalmente ['websocket'], indica que o método de conexão pode ser atualizado de sondagem longa para WebSocket.
O front-end inicia a pesquisa longa XHR ao enviar o primeiro XHR. Se houver necessidade de enviar e receber dados neste momento, ela será implementada por meio de pesquisa longa. A chamada pesquisa longa significa que o front-end envia uma solicitação e o servidor espera até que haja dados a serem retornados antes de responder. O front-end envia imediatamente a próxima solicitação após receber a resposta. Isso permite a comunicação bidirecional.
Depois que o front-end receber as atualizações de handshake, o EIO detectará se o navegador suporta WebSocket. Em caso afirmativo, ele iniciará uma conexão WebSocket e, em seguida, enviará um dado com o conteúdo da investigação e o tipo de ping para o servidor por meio disso. WebSocket. Se o servidor retornar dados com o conteúdo de probe e tipo de pong neste momento, o front end interromperá a longa pesquisa HTTP estabelecida anteriormente e utilizará apenas o canal WebSocket para enviar e receber dados.
Durante o ciclo de vida do soquete EIO, ele fará um ping-pong de vez em quando para testar se a rede está normal.
Esta é a estrutura do quadro WebSocket, o verde está enviando e o branco está recebendo. O número anterior é o tipo de pacote de dados, 2 é ping, 3 é pong, 42 é mensagem
Aprendizagem recomendada: "tutorial em vídeo nodejs"
Acima estão os detalhes sobre se o socketio deve ser usado no node. Para obter mais informações, preste atenção a outros artigos relacionados neste site!