我正在创建我的第一个nodejs应用。我想问一个从外部网站(服务器)安全控制node.js应用程序的想法......
说明: 我在服务器上运行steambot ...机器人可以聊天/交易等等。
在我的网站上(example.com/bot)我已采取行动:交易'这些'带有'这个'的项目person ...我使用简单的POST表单而没有身份验证,这很愚蠢,但我正在尝试。
问题: 告诉机器人只通过我的网站做什么的最好方法是什么(因为你可以根据需要复制一个使用的POST表格)+以JSON对象的形式发送信息f.e。
谢谢! ^^
答案 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 events或long-polling。关于socket.io的好处是你不必担心这么多;它只是为你照顾它。您可以从客户端和服务器侦听和发出事件,以促进服务器和客户端页面之间的实时通信。