Socket.io 加入房间时断线又连线

Socket.io being disconnected and connected when joining a room

不加入房间也能正常工作 显示好友列表,点击后会打开一个新页面,供各个好友聊天

<table>
    <tr>
      <th>Name</th>

    </tr>
    {{#each friends}}
    <tr>
      <td><a href="/chat?name={{this.profileName}}">{{this.profileName}}</a></td>

    </tr>
    {{/each}}
  </table>

然后 chat_server.js socket.io 所在

socket.join(chatTable);//joining a room ! where problem rises

io.sockets.in(chatTable).emit('db chat message',rows);  

然后在网页端

 <form action="">
  <input id="m" autocomplete="off" /><button>Send</button>
</form>

以及 jquery 部分

 $('form').submit(function(){

  socket.emit('chat message', $('#m').val());
   $('#m').val()='';
  return false;
});

调用加入房间时...页面刷新,url 参数(名称)消失,socket.io 断开并重新连接。

我假设 chatTable 变量是 string.

使用event.preventDefault():

 $('form').submit(function(event) {

    event.preventDefault();
    socket.emit('chat message', $('#m').val());
    $('#m').val("");//$('#m').val()=' ' ; does not work 
});

此外,检查 Socket.IO cheatsheet and the docs of rooms and namespaces