我写了一小段代码。
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不是working.can,任何人请指导为什么socket.emit不工作??
发布于 2015-04-03 23:12:40
首先,您必须等待客户端套接字连接,然后再尝试使用它:
var socket = io.connect('http://lit-spire-7546.herokuapp.com');
socket.on("connect", function() {
socket.emit("message",obj);
});
另外,如果http://lit-spire-7546.herokuapp.com
不是你的网页所在的服务器,那么你必须在你的服务器上启用跨域支持。
https://stackoverflow.com/questions/29433080
复制相似问题