0

いくつかの追加データ (ページ内チャットなど) を供給するリアルタイム API を使用して、既存の Web ページ (NGINX + PHP5 + MySQL) を拡張しようとしています。

いくつかのスタンドアロンのテストスクリプトなどを試した後、実際には、単純なチャットの例をセットアップするだけですでに問題が発生しています:明らかに依存関係のために、Socket.ioは機能しません。

NodeJS/Socket.ioを fdajax の代替としてのみ使用しようとしています。(既に存在する) ページ全体を nodejs で構築するつもりはありませんでした。したがって、私の主な質問は、これらの 2 つのライブラリを「実装」し、それらを機能させるにはどうすればよいかということです (socket.io.js提供されていない場合でもnodejs) 。

私の現在のエラーはReferenceError: require is not definedReferenceError: io is not definedを含める場合socket.io.jsです。どうやら、その理由は、関数がrequire()おそらく適切に機能しないためです。なぜなら、nodejs はページ全体を配信していませんが、PHP は配信しているからです (つまり、require() 全体が欠落していると思います)。

socket.ionodejsでページ全体を配信することなく、既存のNGINX + PHPセットアップを引き続き使用して、作業を開始する方法を誰かが知っていますか?

私はいくつかのことを試しましたが、まだ良いヒントを見つけることができませんでした. ターゲットは基本的に、socket.io.js(およびその他の必要なもの) を含めるだけで、指定されたポート (8080 など) を介して nodejs Web サーバーに接続し、コードを記述することです。

助けてくれてありがとう。

4

1 に答える 1

0

別の回答/質問からの本格的な例を次に示し ます https://stackoverflow.com/a/14709236/1489655


Websocket トラフィック用のプロキシをセットアップできます。

tcp {
    upstream websockets {
        ## node processes
        server 127.0.0.1:8001;
        server 127.0.0.1:8002;
        server 127.0.0.1:8003;
        server 127.0.0.1:8004; 

        check interval=3000 rise=2 fall=5 timeout=1000;
    }   

    server {
        listen 127.0.0.1:80;
        server_name _;

        tcp_nodelay on;
        proxy_pass websockets;
    }
}

ソース: http://www.letseehere.com/reverse-proxy-web-sockets

これにより、socket.io に接続できるようになります。

var socket = new io.Socket('ws://localhost');
于 2013-04-17T19:05:34.550 に答える