通过外部网站控制 node.js 应用程序的事件
Controlling node.js application's events via external website
我正在创建我的第一个 nodejs 应用程序。我想问一个从外部网站(服务器)安全控制 node.js 应用程序的想法...
说明:
我在服务器上 运行 steambot...机器人可以 chat/trade/etc.
在我的网站上(示例。com/bot)我采取了行动:与 'this' 人交易 'these' 物品...我使用了简单的 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 and if that fails it will fall back on server-sent events or long-polling。 socket.io 的好处是您不必担心那么多;它只是为你照顾它。您可以监听和发出来自客户端和服务器的事件,以促进服务器和客户端页面之间的实时通信。
我正在创建我的第一个 nodejs 应用程序。我想问一个从外部网站(服务器)安全控制 node.js 应用程序的想法...
说明: 我在服务器上 运行 steambot...机器人可以 chat/trade/etc.
在我的网站上(示例。com/bot)我采取了行动:与 'this' 人交易 'these' 物品...我使用了简单的 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 and if that fails it will fall back on server-sent events or long-polling。 socket.io 的好处是您不必担心那么多;它只是为你照顾它。您可以监听和发出来自客户端和服务器的事件,以促进服务器和客户端页面之间的实时通信。