2011-12-18 44 views
1

私は以下のように私のコードを持っている:node.js + express + socket.io with ipv6?

var gzippo = require('gzippo'); 

var app = require('express').createServer() 
    , io = require('socket.io').listen(app); 

io.enable('browser client gzip'); 
io.set('transports', [ 
    'websocket' 
]); 

app.use(gzippo.staticGzip(__dirname + '/')); 

app.listen(8001); 

app.get('/', function (req, res) { 
    res.sendfile(__dirname + '/main2.html'); 
}); 

io.sockets.on('connection', function (socket) {...}); 

私はgzipのためgzippoを使用して、httpサーバのための、socket.ioのWebSocket機能のために表現します。

これ以降のコードは、ipv4アドレスからの要求で正しく機能します。

私のipv6アドレスからのリクエストを聞くにはどうすればいいですか?

答えて

2

どちらか、私は私のIPv6アドレスを試してみました、それは私の場合には失敗したCF https://github.com/LearnBoost/socket.io-client/issues/260

+0

、socket.ioは、IPv6 URLを解析することができないとの接続に失敗したことが表示されます。これはバグですか? – liuyanghejerry

+0

あなたはこのテストをすることができますか?残念ながら私はipv6ルータを持っていません - コード - 'var net = require( 'net'); '' VARサーバ= net.createServer(); '' server.listen(1600、 ':: 1'); ' とクライアント側 ' VARソケット= io.connect(); ' はこれを行います作業? –

+0

私はそれが可能ではないと思います。クライアントコードは、元のコードですでに接続されている場合にのみ渡されるので、 'var socket = io.connect();'をクライアントに渡すことはできません。 – liuyanghejerry