Création d'un chat avec nodejs ws (einaros)
Hier, j'ai commencé à utiliser ce module. Je suis en train de faire un chat pour faire quelque chose avec les websockets.
J'ai le problème, que je ne sais pas comment passer le message qu'envoie un client pour le serveur pour ensuite le montrer à tous les utilisateurs. Dans le côté serveur j'ai ce code:
var ipaddress = 'localhost';
var port = 8080;
var WebSocketServer = require('ws').Server
, ws = new WebSocketServer({host:ipaddress, port:port});
ws.on('connection', function(ws) {
console.log('New connection');
ws.on('message', function(message) {
ws.send(message);
});
});
console.log('Listening to ' + ipaddress + ':' + port + ' ...');
Et dans le côté client ce code:
jQuery(document).ready(function($) {
var content = $('#screen');
var message = $('input[type="text"]').val();
var ws = new WebSocket('ws://localhost:8080');
ws.onopen = function() {
console.log('Connected');
};
$('input[type="button"]').click(function() {
ws.send(message);
});
ws.onmessage = function(msg) {
console.log('Received message from server: ' + msg.data);
addMessage(msg.data);
}
function addMessage(message) {
content.prepend('<p><span>' + message + '</span></p>');
}
});
OriginalL'auteur | 2013-11-07
Vous devez vous connecter pour publier un commentaire.
Expliqué ici:
J'ai édité ma réponse, j'en ai oublié que vous êtes en écrasant la
ws
variable de sorte qu'au lieu d'appelerbroadcast
sur le serveur (où elle est définie), vous appelez sur le support (où il n'est pas).J'ai mis de l'extrait de code dans mon côté serveur de fichier. Lorsque j'envoie un message, il n'apparaît pas sur le terminal, ni journal. Dois-je modifier quelque chose dans mon côté client fichier? Désolé si je suis très noob, mais c'est la première fois avec cette
voici un serveur autonome: résumé. Chaque client a envoyé un message aléatoire à chaque seconde, et ce message sera diffusé à tous les clients connectés au serveur.
c'est le code côté serveur, destiné à être exécuté dans un runtime Javascript comme Node.js et pas dans un navigateur.
OriginalL'auteur robertklep
OriginalL'auteur Aimal Khan