小编Dan*_*del的帖子

在服务器之间扩展socket.io

扩展socket.io应用程序的方法有哪些?我看到以下问题,我不明白如何解决:

  • 如何将缩放的socket.io应用程序广播到房间?换句话说,socket.io将如何知道来自其他服务器的邻居?

我很难想象它应该如何工作 - 也许是所有必要信息的共享变体商店,例如redis - 这是一种可能性吗?

编辑:我发现这篇文章:http://www.ranu.com.ar/2011/11/redisstore-and-rooms-with-socketio.html

在此基础上,我做了以下几点:

   var pub = redis.createClient();  
   var sub = redis.createClient();
   var store = redis.createClient();
   pub.auth("pass");
   sub.auth("pass");
   store.auth("pass");

    io.configure( function(){
io.enable('browser client minification');  // send minified client
io.enable('browser client etag');          // apply etag caching logic based on version number
    io.enable('browser client gzip');          // gzip the file
io.set('log level', 1);                    // reduce logging
io.set('transports', [                     // enable all transports (optional if you want flashsocket)
    'websocket'
  , 'flashsocket'
  , 'htmlfile'
  , 'xhr-polling'
  , …
Run Code Online (Sandbox Code Playgroud)

node.js socket.io

6
推荐指数
1
解决办法
2316
查看次数

为什么我的Nginx反向代理node.js + express服务器重定向到0.0.0.0?

我有一台服务器配置为通过Ngnix前端在多个域上托管多个node.js + express应用程序.一切都很好,除了从快速路线调用重定向时:

res.redirect('/admin');
Run Code Online (Sandbox Code Playgroud)

然后客户端浏览器重定向到http://0.0.0.0:8090

似乎问题一直是来自express的重定向头的问题,但是为了防止相关,这里是相关域的nginx.conf文件:

server {
    listen 0.0.0.0:80;
    server_name  *.example.com;

    access_log  /var/log/nginx_example_access.log;
    error_log  /var/log/nginx_example_error.log debug;

    # proxy to node
    location / {
        proxy_pass         http://0.0.0.0:8090/;
        proxy_redirect     off;

        proxy_set_header   Host             $proxy_host;
        proxy_max_temp_file_size 0;

        client_max_body_size       10m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;

        proxy_buffer_size          4k;
        proxy_buffers              4 32k;
        proxy_busy_buffers_size    64k;
        proxy_temp_file_write_size 64k;
    }
}
Run Code Online (Sandbox Code Playgroud)

nginx node.js express

5
推荐指数
1
解决办法
1998
查看次数

如何在使用ValueList生成的cfparam VARCHAR列表中转义逗号?

假设有一个SQL表 Fruit

id | name
--- ------
 1 | 'apples'
 2 | 'pears'
 3 | 'kiwi'
 4 | 'bananas, peaches and plumbs'
Run Code Online (Sandbox Code Playgroud)

鉴于以下查询

<cfquery name="qAllFruit" datasource="#DSN#">
    SELECT name FROM Fruit
</cfquery>
<cfquery name="qLeftoverFruit" datasource="#DSN#">
    SELECT name FROM Fruit
     WHERE name NOT IN (<cfqueryparam CF_SQL_TYPE="CF_SQL_VARCHAR" 
                                      value="#ValueList(qAllFruit.name)#" 
                                      list="yes" />)
</cfquery>
Run Code Online (Sandbox Code Playgroud)

然后qLeftoverFruit将错误地返回1行:bananas, peaches and plumbs因为扩展cfqueryparam列表被错误地解释:

WHERE name NOT IN ('apples','pears','kiwi','bananas','peaches and plumbs')
Run Code Online (Sandbox Code Playgroud)

有没有办法在仍然使用cfqueryparam标签时纠正这个问题ValueList

更新以下是您可以用来重现此问题的要点:http://gist.github.com/a642878c96b82b21b52c

coldfusion cfquery cfqueryparam coldfusion-8

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