Socket.io mysql连接错误
Posted
技术标签:
【中文标题】Socket.io mysql连接错误【英文标题】:Socket.io mysql connection error 【发布时间】:2017-01-08 07:07:57 【问题描述】:当我在 npm 上启动我的套接字时,我的 mysql 连接将下降大约 30 秒。我不知道为什么。 mysql 插入方法有效。但是当我等待大约 1 分钟 -30 秒时,连接关闭。
这是错误代码;
events.js:141 投掷者; // 未处理的“错误”事件 ^
错误:连接丢失:服务器关闭了连接。 在 Protocol.end (C:\xampp\htdocs\tem\node_modules\mysql\lib\protocol\Protocol.js:109:13) 在套接字。 (C:\xampp\htdocs\tem\node_modules\mysql\lib\Connection.js:115:28) 在 emitNone (events.js:72:20) 在 Socket.emit (events.js:166:7) 在 endReadableNT (_stream_readable.js:921:12) 在 nextTickCallbackWith2Args (node.js:442:9) 在 process._tickCallback (node.js:356:17)
这是我的源代码;
var app = require('express')();
var mysql = require("mysql");
var http=require('http').Server(app);
var io=require('socket.io')(http);
var con = mysql.createConnection(
host: "hostname",
user: "username",
password: "pw",
database: "db"
);
con.connect(function(err)
if(err)
console.log('UnSuccesfull');
return;
console.log('Succesfull');
);
app.get("/",function(req,res)
res.sendfile(__dirname+"/asd.html");
);
io.on('connection',function(socket)
var UserLog=
Log:'A User Connected'
;
con.query('Insert Into Log SET ?',UserLog ,function(err)
if(err)
console.log(err);
);
);
var port=xx;
http.listen(port,'xx.xx.xx');
【问题讨论】:
尝试续集docs.sequelizejs.com/en/v3 【参考方案1】:我向你推荐,使用连接池。
你可以这样创建连接池;
var pool = mysql.createPool(
connectionLimit : 60,
host : hostname,
user : dbUser,
password: dbPass,
database: dbName,
multipleStatements: true
);
当你需要在mysql上运行查询时;
pool.getConnection(function(err, connection)
connection.query( "SELECT * FROM `users`", function(err, users)
connection.release();
);
);
【讨论】:
Hocam 4 saniyede bir mysql boş sorgu yapsam SELECT X FROM Y diye sıkıntı cıkar mı ? aynı mantık olsa gerek @MuhammedAlmaz sıkıntı çıkartacağını sanmıyorum, ayrıca limit 1 diyerek biraz daha az yük bindirmiş olursun. Tamamdır hocam o şekilde yapayım :) eyvallah【参考方案2】:io.on('connect')*
数据库规则是否正确?
【讨论】:
if(err) throw err;以上是关于Socket.io mysql连接错误的主要内容,如果未能解决你的问题,请参考以下文章
socket.io 错误 - Web 套接字连接在建立连接之前关闭
socket.io 错误 - Web 套接字连接在建立连接之前关闭
Heroku 和 Socket.io,400 个错误请求和许多断开连接