0
var socket = io.connect('http://ip:port');
socket.on('connect', function(){});
socket.on('message', function(message) {
    some code..
}); 
socket.on('disconnect', function(){ });

ここでは、ハードコードされた IP アドレスを使用したくないので、構成ファイルから取得する必要があります。これを解決するよう提案してください。よろしくお願いします。

4

1 に答える 1

0

IP/PORT をサーバー上の構成ファイルに保存し、expressjs の「locals」関数を使用してそれらの変数をフロントエンドに渡すことができます。

これにより、ビュー レンダラーがその情報を利用できるようになり、テンプレートにデータを書き込むことができます。

構成ファイルを設定する最善の方法は、実際には特定のユースケース次第です。


# Server Side
app.locals.hosts = {
  http: 'localhost:3000',
  file: 'localhost:3001',
  websocket: 'localhost:2000'
}

# Client Side (rendered via mustache)
var socket = io.connect('ws://#{hosts.websocket}');
于 2013-03-04T17:21:42.430 に答える