javascript - 如何停止 Socket.io 垃圾邮件连接?
问题描述
我正在制作一个 socket.io 聊天应用程序。当我启动服务器或建立第一个连接时,它会向回调发送垃圾邮件。在服务器停止之前,回调不会停止。我认为错误来自 html 文件,但我不确定。感谢您的时间。
IO回调:
io.sockets.on('connection', (socket) =>{
connections.push('socket')
console.log('Connection made \n ' + connections.length + ' made')
socket.on('disconnect', function(data){
connections.splice(connections.indexOf(socket), 1)
console.log('Disconnected: %s sockets left', connections.length)
})
})
我的 HTML 文件:
<!DOCTYPE html>
<html>
<head>
<title>Chat App</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<style>
body{
margin: 30px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="well">
<h3>Online Users</h3>
<ul class="list-group" id="users"></ul>
</div>
</div>
<div class="col-md-8">
<div class="chat" id="chat"></div>
<form id="messageForm">
<div class="form-group">
<label>Enter Message</label>
<textarea id="message" class="form-control"></textarea>
<br>
<input type="submit" class="btn btn-primary" value="Send">
</div>
</form>
</div>
</div>
</div>
<script>
var socket = io()
</script>
</body>
</html>
解决方案
问题出在第 2 行。你正在推动string
ie'socket'
到connections
. 'socket'
不引用socket
参数中的变量。你需要推动socket
不是'socket'
因为它只是字母组合而不是可变的
io.sockets.on('connection', (socket) =>{
connections.push(socket) // this line is changed
console.log('Connection made \n ' + connections.length + ' made')
socket.on('disconnect', function(data){
connections.splice(connections.indexOf(socket), 1)
console.log('Disconnected: %s sockets left', connections.length)
})
})
推荐阅读
- sharepoint - C# 的图形 API:尝试在 Office 365 上创建团队时的 BadGateway 结果
- python - 安装有 Pip 问题的 `pygame`
- flutter - 如何在颤振中重新启动整个应用程序?
- node.js - 什么是好的通知模型?
- javascript - 将修改后的表发送到 ASP.NET MVC 中的控制器?
- python - 使用 Python 将 2 个视频连接成 1 个视频
- powershell - Fiddler 未在 PowerShell 中捕获某些命令
- c++ - 在函数“lasd::Vector
::~Vector()" 对基类的未定义引用 - javascript - 如何使用 js RegExp 删除空格
- python - 如何将“列表数据库”与 Python 链接?