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。
不加入房间也能正常工作 显示好友列表,点击后会打开一个新页面,供各个好友聊天
<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。