通过外部网站控制node.js应用程序的事件

时间:2015-03-05 18:19:39

标签: javascript node.js authentication

我正在创建我的第一个nodejs应用。我想问一个从外部网站(服务器)安全控制node.js应用程序的想法......

说明: 我在服务器上运行steambot ...机器人可以聊天/交易等等。

在我的网站上(example.com/bot)我已采取行动:交易'这些'带有'这个'的项目person ...我使用简单的POST表单而没有身份验证,这很愚蠢,但我正在尝试。

问题: 告诉机器人只通过我的网站做什么的最好方法是什么(因为你可以根据需要复制一个使用的POST表格)+以JSON对象的形式发送信息f.e。

谢谢! ^^

1 个答案:

答案 0 :(得分:1)

IMO,您最好的选择是使用socket.io等实时通讯库。

服务器:

var app = require('http').createServer(handler)
var io = require('socket.io')(app);
io.on('connection', function (socket) {
  socket.on('trade', function (data) {
    // Make your server-side bot do stuff
    bot.doTrade(data.itemId, data.userId);
  });
});

客户端:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost');
  $('#tradeBtn').click(function () {
    socket.emit('trade', { itemId: 123, userId: 456 });
  });
</script>

Socket.io在幕后使用多种与服务器通信的方法。它会首先尝试使用websockets,如果失败,则会在必要时返回server-sent eventslong-polling。关于so​​cket.io的好处是你不必担心这么多;它只是为你照顾它。您可以从客户端和服务器侦听和发出事件,以促进服务器和客户端页面之间的实时通信。