我正在创建我的第一个 Nodejs 应用程序。我想询问一个从外部网站(服务器)安全控制 Node.js 应用程序的想法...
说明: 我在服务器上运行 steambot...该机器人可以聊天/交易/等等。
在我的网站 (example.com/bot) 上,我得到了操作:与“这个”人交易“这些”元素...我使用了简单的 POST 表单,没有进行身份验证,这非常愚蠢,但我正在尝试。
问题: 告诉机器人仅通过我的网站做什么的最佳方法是什么(因为 POST 表单您可以在任何您想要的地方复制使用)+以 JSON 对象形式发送信息 f.e.
谢谢! ^^
最佳答案
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 的好处是你不必担心那么多;它只是为你照顾它。您可以监听并发出来自客户端和服务器的事件,以促进服务器和客户端页面之间的实时通信。
关于javascript - 通过外部网站控制node.js应用程序的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28884930/