2

以下のコードを使用してサーバー側ソケットを実行します

var http = require('http');
var io = require('socket.io');
io.set('destroy upgrade',false);

var server = http.createServer(function(req, res){ 
  // Send HTML headers and message
  res.writeHead(200,{ 'Content-Type': 'text/html' }); 
  res.end('<h1>Hello  !</h1>');
});

server.listen(8080);

var socket = io.listen(server);


socket.on('connection', function(client){   

    client.on('message',function(event){ 
        console.log('Received message from client!',event);
    });

    client.on('disconnect',function(){
        console.log('Server has disconnected');
    });
});

しかし、それは常に報告します

typeError: Object #<Object> has no method 'set'

行を削除すると

    io.set('destroy upgrade',false);

動作しますが、上記の行は私にとって必要です

あなたのコメント歓迎

4

1 に答える 1

4

実際には、それ自体ではなく、 (あなたの場合は)setの結果を呼び出したいと考えています。したがって、次の行の後:io.listensocketioio.listen

socket.set('destroy upgrade', false);

または、引数をio.listen直接渡すこともできます:

var socket = io.listen(server, { 'destroy upgrade': false });
于 2013-09-10T19:54:56.080 に答える