昨天我开始使用这个模块。我正在尝试制作一个利用WebSocket进行聊天的应用。
现在遇到了问题,我不知道如何将客户端发送的消息传递给服务器,并显示给所有用户。在服务器端,我有以下代码:
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 + ' ...');
在客户端,还有另外一段代码:
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>');
}
});
ws
变量,所以你在套接字上调用broadcast
而不是在定义的服务器上调用。 - robertklep