Rozłączenie połączenia klienta socket.io


Nie mogę zrozumieć, dlaczego wielokrotne odłączanie/ponowne podłączanie połączenia socket.io nie działa?
Kod po stronie serwera:
io.on('connection', function(socket){
console.log('a user connected');
socket.on('disconnect', function(){
console.log('user disconnected');
});
});

Kod po stronie klienta:
var socket = io();
socket.on('connect', function() {
console.log("connected from the client side");
});
$('#connect_button').click(function(){
socket.connect();
});
$('#disconnect_button').click(function(){
socket.disconnect();
});

Normalnie się wyłącza. Ale to nie przywraca połączenia. Używam Socket.io 1.0. Proszę pomóż.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Czy próbowałeś tej konfiguracji w kliencie?
// 0.9 socket.io version
io.connect(SERVER_IP, {'force new connection': true});// 1.0 socket.io version
io.connect(SERVER_IP, {'forceNew': true});
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

To rozwiązanie, oparte na odpowiedzi Jüledera, działa. Najwyraźniej w socket.io 1.0 jest to „forceNew” zamiast „force new connection” - chociaż oba działają.
Serwer:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);app.get('/', function(req, res){
res.sendfile('s.html');
});io.on('connection', function(socket){
console.log('a user connected: ' + socket.id);
socket.on('disconnect', function(){
console.log( socket.name + ' has disconnected from the chat.' + socket.id);
});
socket.on('join', function (name) {
socket.name = name;
console.log(socket.name + ' joined the chat.');
});
});http.listen(3000, function(){
console.log('listening on *:3000');
});

Klient (s.html):
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>button{width: 100px;}input{width: 300px;}</style>
</head>
<body><ul id="messages">[/list]<button id="disconnect">disconnect</button>
<button id="connect">connect</button><script src="/socket.io/socket.io.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script> var socket = io.connect('http://localhost:3000'); $('#disconnect').click(function(){
socket.disconnect();
});
$('#connect').click(function(){
// socket.socket.reconnect();
// socket = io.connect('http://localhost:3000',{'force new connection':true });
socket = io.connect('http://localhost:3000',{'forceNew':true });
socket.on('connect', function(msg){
socket.emit('join', prompt('your name?'));
});
});
socket.on('connect', function(msg){
socket.emit('join', prompt('your name?'));
});
socket.on("disconnect", function(){
console.log("client disconnected from server");
});</script>
</body>
</html>

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się