标签: connect

带有Express.js vhost的子域上的Socket.IO

我的服务器上运行了两个Express.js应用程序.

一个名为"main-app"的普通香草应用程序,另一个使用名为"socket-app"的Socket.IO.

我在"socket.mydomain.com"的子域上运行的"mydomain.com"和"socket-app"上运行"main-app"

我通过Express的内置vhost中间件将请求路由到socket-app.

- 在main-app.js里面 -

var express = require('express');
var app = module.exports = express.createServer();
app.use(express.vhost('socket.mydomain', require('./socket-app/app.js')));

app.listen(8080, function(){
  console.log("Express server listening on port %d in %s mode");
});
Run Code Online (Sandbox Code Playgroud)

这工作正常,我可以在socket.mydomain上看到我的socket-app在端口8080上运行

但是,如此处所讨论的,当通过vhost运行Socket.IO应用程序时,websockets超时并且没有收到"升级"事件似乎存在问题.

所以我的问题是如何将这个"升级"事件从我的主应用程序传输到我的socket应用程序,以便所有连接的套接字都可以听到有人连接和断开连接?

我尝试从"主应用程序"中发出"升级"事件,但它似乎没有起作用.

app.on('upgrade', function(req, socket) {
    socket.emit('upgrade', app);    
});
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

connect node.js express socket.io

2
推荐指数
1
解决办法
3670
查看次数

使用VBA代码(宏)连接引用(工具>引用)

我想以编程方式使用VBA代码将一些引用连接到我的VBA项目,即不使用工具>引用手动设置引用.这可能吗?例如Microsoft Office 12.0对象库.

vba reference connect

2
推荐指数
1
解决办法
3万
查看次数

使Express.js中的特定目录可浏览

我有一个目录,其中包含一些我想在浏览器中查看的图像.

该目录位于我的服务器/ public/images上

内部/公共我还有其他目录,我不想公开,因此使整个/公共目录可见不是解决方案.

如何使用connect目录中间件使我的/ public/images可浏览?

使用此处描述的解决方案使所有内容都可以在/ public中查看,并且尝试以下操作不起作用:

    app.use(exp.static(__dirname + '/public'));
    app.use(exp.static(__dirname + '/public/images'));
    app.use(exp.directory(__dirname + '/public/images'));
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript connect node.js express

2
推荐指数
1
解决办法
4415
查看次数

2
推荐指数
1
解决办法
2255
查看次数

为什么我会看到一个新的sess:在每次请求时键入redis?

我有一个简单的node.js服务器测试connect-redis模块作为会话存储.这一切都有效,但我注意到我得到了一个新的sess:在每个请求上键入redis.我只期望一个密钥,因为只有一个会话.

redis-cli显示多个sess:keys

这是我的代码:

var connect = require('connect');
var util = require("util");
var RedisStore = require("connect-redis")(connect);
var http = require('http');

var app = connect()
  .use(connect.cookieParser('keyboard cat'))
  .use(connect.query())
  .use(connect.session( {
      secret:"elms",
      store:new RedisStore({prefix:'sid_'}),
      cookie:{maxAge:60000, secure:false}
    }))
  .use(function(req, res, next) {
    var sess = req.session;
    if (sess.views) {
      res.setHeader('Content-Type', 'text/html');
      res.write("<p>" + util.inspect(req.cookies) + "</p>");
      sess.basket = sess.basket || {book1:0, book2:0, book3:0};
      if(req.query.buyBook1) {sess.basket.book1 ++;}
      if(req.query.buyBook2) {sess.basket.book2 ++;}
      if(req.query.buyBook3) {sess.basket.book3 ++;}
      if(req.query.expiresession) {
        sess.cookie.maxAge = 0;
      }
      res.write('<p>views: ' + sess.views + '</p>');
      res.write('<ul>\ …
Run Code Online (Sandbox Code Playgroud)

connect redis node.js

2
推荐指数
1
解决办法
1465
查看次数

如何为传入的HTTP请求添加标头?

我正在为node.js开发一个Connect中间件,需要为传入请求添加HTTP头.

这样的东西似乎有效:

function authorize_request(req, res, next) {
  //...
  req.headers['remote-user'] =  user;
  next();
}
Run Code Online (Sandbox Code Playgroud)

问题是请求是一个实例http.IncomingMessage,并且headers属性被记录为只读:

这是一种向请求添加标头的允许方式,还是在某些情况下会失败?有没有更好的办法?

connect node.js

2
推荐指数
1
解决办法
661
查看次数

连接图像中的点

我有以下图片:

在此输入图像描述

有没有办法连接点(在它们之间划一条线)MATLAB?我尝试plot将图像传递给它,但是没有用.

谢谢.

UPDATE

我期望连接点的方式大致如下图中的红线所示:

在此输入图像描述

matlab plot connect

2
推荐指数
1
解决办法
2117
查看次数

忽略了grunt connect port选项

我无法使用grunt connect来使用我在选项中指定的端口.在我的grunt文件中是以下配置

connect: {
        options: {
            port: 9000,
            hostname: '0.0.0.0'
        },
        test: {
            options: {
                port: 9001,
                open: true,
                base: 'test'
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是当我运行grunt connect:test控制台时,引发返回以下内容

在端口1337上打开/ home/peter/Projects/HammerHead2的服务器.

javascript connect gruntjs

2
推荐指数
1
解决办法
784
查看次数

继承对象中的信号和槽问题[Qt5]

我创建了一个MySoundEffect类,因为我希望通过使其能够返回自播放开始以来经过的时间来增强其isPlaying()函数.所以我做了你在代码中看到的.

问题是,构造函数中的连接引发错误.它表现得好像我连接到父的asetTimer()槽当然不存在.我在运行时用调试器检查了这个指针,它指向一个MySoundEffect对象.

我究竟做错了什么?

.H

#ifndef MYSOUNDEFFECT_H
#define MYSOUNDEFFECT_H

#include <QSoundEffect>
#include <QElapsedTimer>

class MySoundEffect : public QSoundEffect
{
    QElapsedTimer* timer;

public slots:
    void asetTimer();

public:
    MySoundEffect();
    ~MySoundEffect();

    int isPlaying();
};

#endif // MYSOUNDEFFECT_H
Run Code Online (Sandbox Code Playgroud)

的.cpp

#include "mysoundeffect.h"

MySoundEffect::MySoundEffect() : QSoundEffect()
{
    timer = new QElapsedTimer();
    connect(this,SIGNAL(playingChanged()), this, SLOT(asetTimer()));
}

void MySoundEffect::asetTimer(){
    if (QSoundEffect::isPlaying() == true){
        timer->restart();
    }
}

int MySoundEffect::isPlaying(){
    if (QSoundEffect::isPlaying() == true){
        return timer->elapsed();
    }
    else{
        return -1;
    }
}

MySoundEffect::~MySoundEffect(){
    delete timer;
}
Run Code Online (Sandbox Code Playgroud)

错误:

QObject::connect: No such slot …
Run Code Online (Sandbox Code Playgroud)

qt connect

2
推荐指数
1
解决办法
348
查看次数

如何在代理之前检索POST请求正文

在Node上使用连接库,我尝试在使用node-http-proxy代理它之前检索请求体.

从Node v4开始,我们必须使用bodyParser之类的中间件(或者只是请求数据/结束事件)来检索POST请求体.

问题是,它似乎消耗了请求流,并且在被代理时请求超时.

这是代码,首先我用数据事件检索正文,然后我将它提供给http-proxy,但请求超时.

var httpProxy = require('http-proxy');
var connect = require('connect');

var proxy = new httpProxy.createProxyServer({
  target: {
    host: 'localhost',
    port: 9015
  }
});

var app = connect()
  .use(function (req, res, next) {
    var bodyBuffer = '';

    req.on('data', function (data) {
      bodyBuffer += data;
    });

    req.on('end', function () {
      req.body = buffer;

      next();
    });
  })
  .use(function (req, res) {

    //I can use req.body now
    //But the …
Run Code Online (Sandbox Code Playgroud)

connect node.js node-http-proxy

2
推荐指数
1
解决办法
849
查看次数