私はnodejsとsocket.ioで簡単なアプリを開発しています。 私は2つのチャンネルを作成しました。ボタンをクリックすると、クライアントがチャンネルの1つを接続します。問題は、私は、サーバーボタンをクリックするとJSのソケットネームスペースがクライアントから変更されます
からの応答を得ることはありませんこれは私のコードです:
//サーバ側
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var nameSpaceWeek = io.of('/week');
var nameSpaceDay = io.of('/day');
app.get('/', function(req, res){
res.sendfile('MDC.html');
});
io.on('connection', function(socket){
console.log("User = " + socket.id)
});
nameSpaceDay.on('connection', function(socket){
console.log('someone connected on namespace day');
nameSpaceDay.emit('hiDay', 'Hello everyone on namespace day!');
});
nameSpaceWeek.on('connection', function(socket){
console.log('someone connected on namespace week');
nameSpaceDay.emit('hiWeek', 'Hello everyone on namespace week!');
});
http.listen(3000, function(){
console.log('listening on localhost:3000');
});
//クライアント側
<!DOCTYPE html>
<html>
<head><title>Hello world</title></head>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
function setDay(){
console.log("setDay");
socket = io.connect('/day');
console.log(socket)
}
socket.on('hiDay',function(data){
console.log("hiDay")
console.log("data = ." + data + ".")
document.getElementById('message-container').innerHTML = 'Update day'
console.log("data = ." + data + ".")
});
function setWeek(){
console.log("setWeek");
socket = io.connect('/week');
console.log(socket)
}
socket.on('hiWeek',function(data){
console.log("hiWeek")
document.getElementById('message-container').innerHTML = 'Update Week'
//document.getElementById('message-container').innerHTML = data
console.log(data)
});
</script>
<body>
<div id="message-container"></div>
<div id="error-container"></div>
<button type="button" name="button" onclick="setWeek()">Week</button>
<button type="button" name="button" onclick="setDay()">Day</button>
</body>
私のクライアントでは、私は2つのボタンを作成し、1つをクリックするとソケットネームスペースを変更したいのです
を私は変更を行ったが、それは同じ結果 –
@baudic_jだ - 私は必要な変更でそれを実行すると、それは私のためにうまく動作します。あなたは明らかに変更を正しく行っていないか、あなたに何をすべきかについてあなたに明確ではありませんでした。 – jfriend00
@baudic_j - 何らかの理由で 'setDay()'メソッドが正常に動作していますが、 'setWeek()'は正しく動作していません。私は調査中です。 – jfriend00