如何从配置文件中获取IP地址以在io.connect中使用('ip:port')

时间:2013-03-04 06:31:27

标签: socket.io

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

在这里我不想使用硬编码的ip地址。所以我需要从config file.suggest中获取解决这个问题。谢谢。

1 个答案:

答案 0 :(得分: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}');