socket.io를 가지고 놀았으며 잘 작동하는 것 같습니다.node.js with PostgreSQL 및 socket.io 오류 : 소켓 쓰기가 가능하지 않습니다.
pg.connect(conString, function(err, dbClient) {
io.sockets.on("connection", function(client) {
client.on("clientSendingPlayerData", function(playerData) {
dbClient.query("insert into actions values (1)", function() {
console.log("INSERTED ROW");
});
});
});
});
우리는 오류를 얻을 : 나는 데이터베이스마다 이벤트가 발생 (!와 이벤트가 초당 2 ~ 3 회 발생)에 행을 삽입 PostgreSQL을 설치 최근 불구하고 ... 여기에 코드 조각의
net.js:391
throw new Error('Socket is not writable');
^
Error: Socket is not writable
at Socket._writeOut (net.js:391:11)
at Socket.write (net.js:377:17)
at [object Object].query (/homes/jjl310/node_modules/pg/lib/connection.js:109:15)
at [object Object].submit (/homes/jjl310/node_modules/pg/lib/query.js:99:16)
at [object Object]._pulseQueryQueue (/homes/jjl310/node_modules/pg/lib/client.js:166:24)
at [object Object].query (/homes/jjl310/node_modules/pg/lib/client.js:193:8)
at Socket.<anonymous> (/homes/jjl310/tradersgame/server.js:182:16)
at Socket.$emit (events.js:64:17)
at SocketNamespace.handlePacket (/homes/jjl310/node_modules/socket.io/lib/namespace.js:335:22)
at Manager.onClientMessage (/homes/jjl310/node_modules/socket.io/lib/manager.js:469:38)
문제의 원인과 해결 방법에 대한 아이디어가 있으십니까?
내가 postrgreSQL https://github.com/brianc/node-postgres
감사합니다. 나는 그것을 줄 것이다. 질문은, 사건이 일어날 때마다 데이터베이스에 연결하는 것이 좋습니까? 이벤트가 꽤 자주 발생한다는 것을 기억하십시오 ... – meltuhamy
'pg.connect()'가 설정되어 있고 클라이언트 풀을 사용합니다. 그룹/트랜잭션으로 여러 쿼리를 수행해야하는 경우 동일한 클라이언트로 쿼리를 수행하는 것이 좋습니다. 너의 수영장을 비울 것이나 너는 무엇이든을 얻는 것을 얻지 않을 것이기 때문에 다만 사용을 위해 주변에 클라이언트를 붙들 지마. 'var client = new pg.Client (...)'는 풀링되지 않은 연결을 설정합니다. 이것은'pg.connect()'와 혼동을 일으키는 것입니다. –