当前位置: 首页 > 知识库问答 >
问题:

Node Express 3x套接字IO测试

乌俊健
2023-03-14
/**
 * Module dependencies.
 */

var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');

var app = express();

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

app.get('/', routes.index);
app.get('/users', user.list);

    var server = http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});


  //IO Config

var io = require("socket.io").listen(server);
io.sockets.on('connection', function (socket) {
    socket.emit('makealert');
});
extends layout

script(type='text/javascript' src='../node_modules/socket.io/lib/socket.io.js')

script(type='text/javascript'
  var socket = io.connect();
  socket.on('makealert', function () {
      alert('Boom');
  });
)

block content
  h1= title
  p Welcome to #{title}
exports.index = function(req, res){
  res.render('index', { title: 'Express' });
};

5个脚本(type='text/javascript'6var socket=io.connect();7个socket.on('makeAlert',function(){

Ty感谢你的帮助

共有1个答案

陈实
2023-03-14

您提到的错误是由于Jade中的语法错误造成的

改变这一行

script(type='text/javascript'
  var socket = io.connect();
  socket.on('makealert', function () {
      alert('Boom');
  });
)

script(type='text/javascript')
  var socket = io.connect();
  socket.on('makealert', function () {
      alert('Boom');
  });
 类似资料:
  • 问题内容: 调用一次后如何重新连接到套接字io ? 这是代码 如果我这样做,它会起作用。如果我这样做,它将断开连接。但是,如果我尝试使用重新连接,则连接不再起作用。我如何才能建立连接? 问题答案: 好吧,您可以在这里选择… 首次初始化套接字值时,应使用, 下次(调用一次断开连接后),您应使用再次连接。 所以你的应该是这样的

  • 如果有人对WebSocket/Socket IO有经验,希望你能给我指出正确的方向。 我制作了一个不和谐的克隆,我正试图优化它以更好地扩展。现在,当一个用户发送一条消息时,我向数据库查询该服务器的所有用户部分,并向他们的特定套接字发送一条消息。这显然不能很好地扩展,因为每条消息都需要在客户机列表中进行昂贵的查询和查找 然而,为每台服务器使用房间将消除我查询数据库的需要。我知道我可以在套接字服务器首

  • 我在使用https域和https套接字io时收到此警告。 我的代码是这样的: 希望有答案来解决这个问题。我已经从其他人那里搜索过,但我申请时发现不起作用。

  • 问题内容: 如何验证socket.io连接?我的应用程序使用来自另一台服务器(python)的登录端点来获取令牌,每当用户在节点侧打开套接字连接时如何使用该令牌? 和客户端: 如果令牌是在python中创建的: 如何使用此令牌对节点中的套接字连接进行身份验证? 问题答案: 令牌是否在另一台服务器上创建都没有关系。如果您拥有正确的密钥和算法,您仍然可以验证它。 用模块实施 客户 服务器 用模块实施

  • 问题内容: 我正在开发网络应用程序,我想正确进行单元测试。这次我们会做的,你知道吗?:) 我在测试网络连接时遇到了麻烦。 在我的应用程序中,我使用plain 。 例如: 我读过有关模拟的内容,但不确定如何应用。 问题答案: 如果要测试代码,请执行以下操作。 首先,重构代码,以便不会在要测试的方法中直接实例化。下面的示例显示了我可以想到的最小更改。将来的更改可能会将创建过程排除在一个完全独立的类之外

  • 我是Heroku的新手,我正在尝试部署使用socket.io侦听的NodeJS应用程序。我能够部署到本地和它的工作罚款。但是当在Heroku中运行相同的内容时,它没有响应。 在Heroku中有没有需要为套接字io指定的特定端口?我不能使用process.env.port,因为我正在将其用于app server端口。 有什么解决这个问题的想法吗?或者我们需要启用一些配置来使用套接字IO吗? 我想我们