WebSocketはシンプルなチャットルームを実現
前の記事を見て、WebSocketの原理を深く理解していると思います.この記事では、具体的にどのように使うかを見てみましょう.ここで、nodejs-websocketで簡単なマルチチャットルームを実現し、この小さなケースからWebSocketの使用を学ぶ.Nodejs-websocketの使い方は公式apiを参照:https://www.npmjs.com/package/nodejs-websocketサーバ側:
クライアント:
// nodejs-websocket
var ws = require('nodejs-websocket');
console.log(" ...")
//
var server = ws.createServer((conn) => {
conn.on("text", (str) => {
console.log(" "+str)
//
broadcast(str)
})
conn.on("close", (code, reason) => {
console.log(" ")
})
})
function broadcast(str) {
//
server.connections.forEach(function(connection) {
connection.sendText(str);
})
}
//
server.listen(3000)
console.log("WebSocket ")
クライアント:
1
if(window.WebSocket){
//
var ws = new WebSocket('ws://100.39.8.55:3000');
ws.onopen = function(e){
console.log(" ");
$('button').click(() => {
if($('#m').val()){
//
ws.send(' :'+$('#m').val());
$('#m').val('')
}
})
}
ws.onclose = function(e){
console.log(" ");
}
ws.onerror = function(){
console.log(" ");
}
//
ws.onmessage = function(e){
$('#messages').append('<li>'+ e.data +'</li>')
}
}