ドラッグ可能なdivがあり、クライアント間の位置を更新するためにsockets.ioを使用したいという単純な設定があります。私のクライアントでsocket.io受信/送信しない
(index.htmlを)私が持っている:
// find the elements
var elements = document.getElementsByClassName('ball'),
labelsX = document.getElementsByClassName('coords-x'),
labelsY = document.getElementsByClassName('coords-y');
// loop over the 3 items...
for (var n = elements.length; n--;) {
// ... augment our default options with individual `onDrag` handlers
var opts = {
onDrag: onDragFactory(n),
setCursor: true
};
// ... and initialize drag for each
window.d = new Draggable(elements[n], opts);
console.log('ddd');
}
// bind `n` to its value at iteration time
function onDragFactory (n) {
return function (element, x, y) {
//This doesnt seem to work
console.log(elements[n].style.top);
socket.emit('positionx', elements[n].style.top);
socket.on('positionx', function(positionx){
elements[n].style.top= positionx.value();
});
}
}
私のサーバーは、次のとおりです。
var express = require('express');
var path = require('path');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var publicPath = path.resolve(__dirname, 'public');
app.use(express.static(publicPath));
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
//Server Side Listen for an event from the client
io.on('connection', function(socket){
socket.on('positionx', function(positionx){
console.log('recieving');
console.log(positionx);
io.emit('positionx', positionx);
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
サーバーは、しかし任意の情報を受信していないようです。私が間違っていることはありますか?どんな助けでも大歓迎です!
コンソールに表示されるエラーは何ですか? – Jer
@ C0dekidコンソールにエラーはありませんが、コンソールに明示的に記録されていない警告があるかどうか確認するために追加できるものはありますか? – masterofimps