2016-03-28 37 views
0

İstemci aracılığıyla bir düğüm sunucusuna bağlanmak istediğimde, protokol anahtarlama sonsuza dek beklemede. Birisi bana bunun neden olduğunu söyleyebilir mi? İşte Node.js ve Socket.io: ssl protokol anahtarlaması sonsuza kadar beklemede

sunucu tarafı kod şudur:

var https = require('https'); 
var fs = require('fs'); 

var options = { 
    key: fs.readFileSync('*******'), 
    cert: fs.readFileSync('*******'), 
    passphrase: '*******', 
    rejectUnauthorized: false 
}; 

var app = https.createServer(options); 
var io = require('socket.io').listen(app); 
app.listen(3700); 

io.sockets.on('connection', function (client) { 

    client.on('join', function() { 

     // 
    }); 
}); 

Ve burada istemci tarafını biri: Ben localhost üzerinde kendinden imzalı sertifikalar kullanıyorum

var baseURL   = getBaseURL(); 
var socketIOPort  = 3700; 
var socketIOLocation = baseURL + socketIOPort; 
var socket   = io.connect(socketIOLocation, {secure: true, rejectUnauthorized: false}); 

function getBaseURL() 
{ 
    return (location.protocol + "//" + location.hostname + ":" + location.port); 
} 

.

Mozilla, bağlantının iptal edildiğini ve yeniden bağlanmaya çalıştığını söylüyor; Chrome, durumun '101 Anahtarlama protokolleri' ve saati (gecikme süresi) 'Beklemede' olduğunu söylüyor. Bir bağlantı noktası (location.port) zaten var ancak 3700 için eklediğiniz

cevap

1

location.port'u getBaseURL()'dan kaldırın ve bu sorun giderilmelidir.

+0

mscdex, maalesef bu yardımcı olmadı. Hala bu mesajı gösterir = ( – eldorjon

+0

'console.log (socketIOLocation)' ne gösterir? – mscdex

+0

Ayrıca, istemci html ve javascript https üzerinde hizmet mi? – mscdex

İlgili konular