Socket.io:控制台中的GET请求失败

时间:2018-09-01 22:30:47

标签: node.js sockets server socket.io client

我试图将socket.io添加到我的代码中,并且每当我在本地主机上运行网站时,以下失败的GET请求都会重复输出到控制台。

GET http://localhost:4000/socket.io/?EIO=3&transport=polling&t=MMNC8I9 0 ()

我不知道发送此请求的内容。套接字可以工作,尽管不完全符合我的预期*。

*我正在尝试构建一个可与多个客户端一起使用的实时应用程序,目前在任何给定时间仅更新一个客户端。在我仍在学习的过程中,我不确定这是否是正常行为,但是我想先解决失败的请求错误,然后再尝试解决!

如何解决此问题?预先谢谢你!

下面的代码:

server.js

const client=require("socket.io").listen(4040).sockets;
const app = express();

mongoose.connect('mongodb://localhost/<dbname>?replicaSet=rs'); 
mongoose.connect(config.db); 
const db = mongoose.connection;
db.once("open", () => {
    console.log(">>> ️  MongoDB: Connection successful");
app.listen(9000, () => {
    console.log('Node server running on port 9000');
  });

// Connect to Socket.io
client.on("connection", function(){
let queries = db.collection('queries');

// Create function to send status
sendStatus = function(s) {
  socket.emit("status", s);
 }
  });
  });

app.post('/query', (req, res, next) => {
   <some code omitted> 
   doc.save()
     .then(result => {
     socket.emit("query", res);
     res.send({
     result
     });
   }
});

Queries.js

constructor(props) {
...
var socket = io.connect("http://localhost:4000/");

if (socket!= undefined) {  
  socket.on("query", function() {
    this.loadQueries();
  });
}

index.html

  <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>

0 个答案:

没有答案