2016-06-26 9 views
0

私たちはサーバーとしてnodejsとsocket.ioを使って何らかの種類のチャットアプリケーションを持っています。クライアントは単なるPHPベースのアプリです。それはかなりうまくいっています。Socket.ioはnonsocket.ioのURLのために404を提供します

ただし、base URL、favicon.ico、およびその他のURLのように、socket.ioアプリに関連付けられていないURLに対しては404エラーが発生します。

たとえば、サーバーはである:

https://awesome-messenger.com 

、通常socket.io URLはである:私たちは、ソケットによって処理されない何かに404を投げたい

https://awesome-messenger.com/socket.io/* 

。 io。

現在の設定:6.xの

  • socket.io最新
  • サンプルコード(messenger.js)

    • nodejs:

      によって開始
      var app = require('http').createServer() 
      var io = require('socket.io')(app); 
      
      app.listen(4040); 
      
      io.on('connection', function (socket) { 
          socket.on('joinRoom', function(data){ 
           socket.join(data.room); 
          }); 
      
          // Other codes here... 
      }); 
      

      node /path/to/messenger.js 
      

      ありがとうございます!

    +0

    socket.ioで処理されないリソースをリクエストするとどうなりますか? –

    +0

    nginxがタイムアウトするまで、ちょうどハングアップします。私はexpressJSを使って404を処理できることを知りました。http://socket.io/get-started/chat/まず試してみましょう。これを更新します。 – Lysender

    答えて

    0

    代わりに、express + socket.ioを使用してカスタムホームページを提供し、nonsocket.io URLに404エラーを投げました。私はここからアイデアを得た:http://socket.io/get-started/chat/

    var app = require('express')(), 
        http = require('http').Server(app), 
        io = require('socket.io')(http); 
    
    app.get('/', function(req, res){ 
        res.sendfile(__dirname + '/index.html'); 
    }); 
    
    io.on('connection', function (socket) { 
        socket.on('joinRoom', function(data){ 
         socket.join(data.room); 
        }); 
    
        // Other codes 
    }); 
    
    http.listen(4040, function() { 
        console.log('Listening on *:4040'); 
    }); 
    

    をだから私たちのようなものにアクセスする場合:/favicon.icoまたは/ fooの/バー、それは簡単な404エラーがスローされます。

    関連する問題