2011-12-18 171 views
1

我有一個像下面我的代碼:node.js + express + socket.io與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) {...}); 

我用gzippo gzip的,表達對HTTP服務器,socket.io對於WebSocket的功能。

現在的代碼可以正常使用來自ipv4地址的請求。

那麼如何從我的ipv6地址收聽請求?

回答

2

看來,socket.io連接失敗,因爲它無法解析的IPv6地址,CF https://github.com/LearnBoost/socket.io-client/issues/260

+0

我想我的IPv6地址,並在我的情況下失敗,無論是。所以這是一個錯誤? – liuyanghejerry 2011-12-22 06:42:23

+0

您能否進行此測試,遺憾的是我沒有ipv6路由器 - 代碼 - 'var net = require('net'); '' 變種服務器= net.createServer();'' server.listen(1600, ':: 1');' 和客戶端 '變種插座= io.connect();' 這是否工作? – 2011-12-22 07:44:37

+0

我不認爲這是可能的。由於客戶端代碼只有在我的原始代碼中已經連接時才被傳遞,所以我無法現在將'var socket = io.connect();'傳遞給客戶端。 – liuyanghejerry 2011-12-22 08:11:08