次のコードがあります
function Server() {
function eventHandler(data) {
console.log('DATA ' + this.server.socket.remoteAddress + ': ' + data);
socket.write('You said "' + data + '"');
}
function connectionHandler(socket) {
console.log('server connected');
console.log('CONNECTED: ' + socket.remoteAddress +':'+ socket.remotePort);
socket.on('data', eventHandler);
}
this.server = net.createServer(connectionHandler);
this.port = undefined;
this.startServer = function(port) { //Maybe change backlog for security reasons
this.port = port;
this.server.listen(port, function() { //'listening' listener add handle object here
console.log('server bound');});
}
}
接続が確立されるたびに取得します
server bound
server connected
CONNECTED: 132.65.16.64:55028
/a/fr-05/vol/netforce/stud/yotamoo/ex4/myHTTP.js:7
console.log('DATA ' + this.server.socket.remoteAddress + ': ' + data);
^
TypeError: Cannot read property 'remoteAddress' of undefined
at Socket.eventHandler (/a/fr-05/vol/netforce/stud/yotamoo/ex4/myHTTP.js:7:43)
at Socket.emit (events.js:67:17)
at TCP.onread (net.js:329:14)
これはevenHandler()
もちろん関係があります。Node JS でのオブジェクトの作成方法とそのスコープがわかりません。たとえば、どこsocket
で作成されましたか?data
彼らの範囲は何ですか?
どうもありがとう