socket.io 客户端连接断开

我无法理解为什么关闭为什么 / 连接连接 socket.io 不超过几次 ?

服务器端上的代码:


io.on/'connection', function/socket/{
console.log/'a user connected'/;
socket.on/'disconnect', function//{
console.log/'user disconnected'/;
}/;
}/;


客户端的代码:


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//;
}/;


它正常关闭。 但不恢复连接。 我用 Socket.io 1.0. 请帮忙。
已邀请:

江南孤鹜

赞同来自:

您在客户端尝试了此配置 ?


// 0.9 socket.io version
io.connect/SERVER_IP, {'force new connection': true}/;

// 1.0 socket.io version
io.connect/SERVER_IP, {'forceNew': true}/;

董宝中

赞同来自:

这个解决方案基于Jiureer的答案。 显然,在 socket.io 1.0 这是 "forceNew" 反而 "force new connection" - 虽然都是工作。

服务器:


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'/;
}/;


客户 /s.html/:


html
<html>
<head lang="en">
<meta charset="utf-8"/>
<title></title>
<style>button{width: 100px;}input{width: 300px;}</style>
</head>
<body>
<ul id="messages"></ul>
<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>

要回复问题请先登录注册