0

是否可以在快速路由中使用 socket.io?

我希望它看起来像这样:

服务器

应用程序.js:

app.get('/cool_page/',users.cool_page);

users.cool_page:

if (5>3){
 socket.emit('first_connection',"true statement");
}

客户:

socket.on('first_connection',function(data){
 if (data === "true statement"){
  console.log("success");
 }

到目前为止,它还没有奏效。我试图将 users.cool_page 封装在 io.sockets.on("conection",function(socket){code...}) 中,但这不起作用。我还在 users.cool_page 中重新定义了一些变量;像

var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);

但它仍然不起作用:没有真正输出任何错误。

我很感激任何帮助。谢谢。

4

2 回答 2

0

要执行此类操作,您需要使用诸如socket.io.connect之类的东西将每个套接字链接到一个快速会话

就其本身而言,socket.io 不知道 express 的会话,反之亦然。

于 2013-08-08T03:30:27.190 回答
0

简短的回答是肯定的,您只需要确保使用中间件或请求模拟器将套接字调用绑定到请求。然而,这里更好的答案是让您利用诸如expressio之类的框架以更健壮的方式实现它。

于 2013-08-08T03:50:45.303 回答