首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Socket.emit未按预期工作

Socket.emit未按预期工作
EN

Stack Overflow用户
提问于 2015-04-03 21:24:38
回答 1查看 2.4K关注 0票数 0

我写了一小段代码。

代码语言:javascript
运行
复制
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);

  });
});

在客户端,我编写了小代码

代码语言:javascript
运行
复制
var socket = io.connect('http://lit-spire-7546.herokuapp.com');
socket.emit("message",obj);

它是在postgresql中插入数据,但socket.emit不是working.can,任何人请指导为什么socket.emit不工作??

EN

回答 1

Stack Overflow用户

发布于 2015-04-03 23:12:40

首先,您必须等待客户端套接字连接,然后再尝试使用它:

代码语言:javascript
运行
复制
var socket = io.connect('http://lit-spire-7546.herokuapp.com');
socket.on("connect", function() {
    socket.emit("message",obj);
});

另外,如果http://lit-spire-7546.herokuapp.com不是你的网页所在的服务器,那么你必须在你的服务器上启用跨域支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29433080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档