我写了一个小代码。
var app = require('../app');
var debug = require('debug')('PHCServer:server');
var http = require('http');
var pg = require('pg');
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
var server = http.createServer(app);
var io = require('socket.io')(server);
io.on('connection',function(socket){
socket.on('message',function(data){
pg.connect(str,function(err,client,done){
var c = "'"+data.complaint+"',";
c += "'"+data.symptoms+"'";
client.query("INSERT INTO Appointment (complaint,symptoms) VALUES ("+c+")",
function(error,result){
console.log('result is');
console.log(data.eid);
socket.emit('message1','djlksjdslkj');
client.end();
});
});
console.log(data);
});
socket.on('message1',function(data){
console.log('message1 is');
console.log(data);
});
});
从客户端我写小代码
var socket = io.connect('http://lit-spire-7546.herokuapp.com');
socket.emit("message",obj);
它是在postgresql中插入数据但socket.emit没有工作。任何人请指导为什么socket.emit不工作?
答案 0 :(得分:0)
首先,您必须等待客户端套接字连接才能尝试使用它:
var socket = io.connect('http://lit-spire-7546.herokuapp.com');
socket.on("connect", function() {
socket.emit("message",obj);
});
此外,如果http://lit-spire-7546.herokuapp.com
不是您的网页形成的服务器,那么您必须在服务器上启用跨源支持。