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 回答