Então, tenho tentado entender Socket.io ultimamente, mas não sou um grande programador, e quase todos os exemplos que posso encontrar na web (acredite, eu tenho procurado por horas e horas), tem coisas extras que complicam as coisas. Muitos dos exemplos fazem um monte de coisas que me confundem, ou se conectam a algum banco de dados estranho, ou usam coffeescript ou toneladas de bibliotecas JS que bagunçam as coisas.
Adoraria ver um exemplo básico e funcional em que o servidor apenas envia uma mensagem ao cliente a cada 10 segundos, dizendo que horas são, e o cliente grava esses dados na página ou emite um alerta, algo muito simples. Então posso descobrir as coisas a partir daí, adicionar coisas que preciso, como conexões db, etc. E sim, eu verifiquei os exemplos no site socket.io e eles não funcionam para mim, e não entendo o que fazem .
Respostas:
Edit: Acho que é melhor para qualquer pessoa consultar o excelente exemplo de bate-papo na página de primeiros passos do Socket.IO. A API foi bastante simplificada desde que forneci esta resposta. Dito isso, aqui está a resposta original atualizada pequeno-pequeno para a API mais recente.
Só porque me sinto bem hoje:
index.html
app.js
fonte
Aqui está a minha apresentação!
se você colocar este código em um arquivo chamado hello.js e executá-lo usando o node hello.js, ele deverá imprimir a mensagem hello, ela foi enviada por 2 soquetes.
O código mostra como lidar com as variáveis de uma mensagem de olá devolvida do cliente para o servidor por meio da seção de código rotulada // Mirror.
Os nomes das variáveis são declarados localmente, em vez de todos no topo, porque eles são usados apenas em cada uma das seções entre os comentários. Cada um deles pode estar em um arquivo separado e ser executado como seu próprio nó.
fonte
Talvez isso possa ajudá-lo também. Eu estava tendo problemas para entender como soquete.io funcionava, então tentei resumir um exemplo o máximo que pude.
Adaptei este exemplo do exemplo postado aqui: http://socket.io/get-started/chat/
Primeiro, comece em um diretório vazio e crie um arquivo muito simples chamado package.json. Coloque o seguinte nele.
Em seguida, na linha de comando, use npm para instalar as dependências de que precisamos para este exemplo
Isso pode levar alguns minutos, dependendo da velocidade de sua conexão de rede / CPU / etc. Para verificar se tudo correu conforme planejado, você pode examinar o arquivo package.json novamente.
Crie um arquivo chamado server.js Este será obviamente o nosso servidor executado por nó. Coloque o seguinte código nele:
Crie o último arquivo chamado index.html e coloque o seguinte código nele.
Agora você pode testar este exemplo muito simples e ver alguma saída semelhante a esta:
Se você abrir um navegador da web e apontar para o nome do host no qual está executando o processo de nó, deverá ver os mesmos números aparecerem em seu navegador, junto com qualquer outro navegador conectado olhando para a mesma página.
fonte
Sei que este post já tem vários anos, mas às vezes iniciantes certificados como eu precisam de um exemplo funcional que seja totalmente reduzido à forma mais simples.
cada exemplo simples de socket.io que pude encontrar envolvido http.createServer (). mas e se você quiser incluir um pouco da magia do socket.io em uma página da web existente? aqui está o exemplo mais fácil e menor que eu poderia sugerir.
isso apenas retorna uma string passada do console em MAIÚSCULAS.
app.js
index.html:
para correr:
use algo como este teste de porta para garantir que sua porta está aberta.
agora navegue até http: //localhost/index.html e use o console do seu navegador para enviar mensagens de volta ao servidor.
na melhor das hipóteses, ao usar http.createServer, ele altera as duas linhas a seguir para você:
Espero que este exemplo muito simples poupe meus colegas novatos de algumas dificuldades. e observe que evitei usar "palavras reservadas" para nomes de variáveis definidas pelo usuário para minhas definições de soquete.
fonte
every simple socket.io example i could find involved http.createServer(). but what if you want to include a bit of socket.io magic in an existing webpage
mhm sim ...var app = http.createServer(
- wutindex.html
index.js
E execute esses comandos para executar o aplicativo.
e abra o URL: - A
http://127.0.0.1:3000/
porta pode ser diferente. e você verá este OUTPUTfonte