2016-06-18 4 views
0

6つの異なるエンドポイントを持つNodeJSサーバーを作成しました。これらのエンドポイントはすべてSQLデータベースで基本的なCRUD操作を実行します。今私は同じサーバーの9番目のエンドポイントでホストされる必要があるこのサーバー上でチャット機能を作成する必要があります(同じSQLサーバーでCRUD操作をほとんど実行する必要はありません)socket.ioを使用してNodeJSアプリケーションでチャット機能を追加する

以下は私のプロジェクト構造です:

> bin 
    - www 
>js 
    - common JS files 
>node_modules 
    - all node dependencies 
>routes 
    - endpoint_1 
    - endpoint_2 
    - endpoint_3 
    - endpoint_4 
    - endpoint_5 
    - endpoint_6 
    - chatEndPoint 
- app.js 

私はショーHEREとソースコードの言及HEREとしてチャットアプリケーション・デモを通じて行っています。

しかし、this source codeはチャット機能を使用している場合にのみ機能しますが、今は別のプロジェクト構造があり、アプリケーションを正しく実行することができません。どこのコードを貼り付けます

var app = require('express')(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 

(私のプロジェクト構造に関して):

は、私は、次のコードを配置できますか依存関係および実装

の管理はどうすればよいかわかりません接続を処理し、MSGのチャット:

io.on('connection',function(socket){ 
    console.log('one user connected '+socket.id); 
    socket.on('message',function(data){ 
     var sockets = io.sockets.sockets; 
     /*sockets.forEach(function(sock){ 
      if(sock.id != socket.id) 
      { 
       sock.emit('message',data); 
      } 
     })*/ 
     socket.broadcast.emit('message', data); 
    }) 
    socket.on('disconnect',function(){ 
     console.log('one user disconnected '+socket.id); 
    }) 
}) 

そして、私のサーバーはすでにので、私はこのチャットfunctiのための別のポートをリッスンする必要がありますポート(3881)上で実行されています一義性

私のapp.jsファイルを消費し、私の/chatEndPointをルーティングするように設定するにはどうすればいいですか?

私はこの作業を手伝ってください。

同様の状況が見つかったソースコードまたはリンクをすべて解決しました。

ありがとうございます。

答えて

0

これはあなたのapp.jsファイルの最上部に行く必要があります:

var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 

io.on.connection機能がapp.jsであなたのルーティングのすべての後に行くと、すべてのソケット関数が行きますそれの中に。 socket.ioの設定についてはThisをお読みください。また、ルートディレクトリにpackage.jsonファイルを置くことをお勧めします。 thisを参照してください。ポートを変更する必要はありません。私はまたあなたのルートにビューフォルダを作成することをお勧めします、あなたのhtmlファイルをここに格納します。あなたのルートのための別個の.jsファイルがある場合、ルートフォルダのそれらを保存します。

関連する問題