【问题标题】:How would I only allow only certain messages to be set users [NODE.JS]我如何只允许将某些消息设置为用户 [NODE.JS]
【发布时间】:2014-11-12 06:08:38
【问题描述】:

我正在开发一个多人游戏,并决定使用 NodeJS 作为系统的一部分。 nodeJS通过TCP链接到m c#游戏模拟器。

但是,我如何向特定用户 ID 发送消息? 数据库中的每个单独用户都有一个唯一的用户 ID (E.G 1)

如果游戏中的用户做了某件事并发送了一条消息,我该怎么做 仅从节点到他们。

因为我无法在与我的 cms 相同的端口(端口 80)上运行节点。 我需要一种可以使用 PHP 提取 ID 或其他内容的方法。

用作 Jquery 和 'GET'?我很烂。

消息是指发送 javascript 窗口等数据。

可用选项: jQuery Javascript PHP 节点

我想到了一种方法,即通过 PHP 中的参数(例如 $ID)在 div 中显示用户 id,然后 javascript 检查 div 和消息以查看 id 是否匹配。然后在消息中包含用户 ID,然后我可以以某种方式拆分消息?所以它的 "","" (ID,MESSAGE)

代码:

var socket = io.connect('http://dev.com'); socket.on('field', function (data) {

if ($("#userid").text().indexOf(data) > -1)
{   
    window.alert('lol');    
    console.log(data);
    $("#field").html(data);
}
else
{
    window.alert("Something has gone wrong with the node server...");
}

});

没用。

页面: C#: 节点:

【问题讨论】:

  • Node.js 几乎可以用于任何事情。如果您想要一个有用的答案,您将需要更具体地说明您是如何使用它的。听起来您只需要一个 AJAX 请求……但还不清楚。此外,只需将您的请求代理到您的 Node.js 服务器,这样您就可以在同一个面向公众的端口上运行 Node.js 和常规 HTTP 内容。
  • 是的 AJAX 请求听起来是对的,虽然我不确定我会去系统。你介意我在屏幕共享上给你看吗? join.me/409-609-166 或 StackOverflow。
  • 在此处发布您的具体问题和更多信息,以便答案能够惠及所有人。
  • 对,我有一个包含用户的数据库表。每个用户都有一个唯一的密钥(int)。我想使用 Node 和 AJAX,所以当消息被发送到您的节点时,它只会发送给手头的特定用户。
  • 这些消息中有什么内容?消息有多大?您需要多久发送一次?所有消息都只发给一个用户,还是您需要一些消息发送给多个用户?消息是否必须在用户离线时生成和排队?

标签: c# javascript jquery node.js


【解决方案1】:

根据您在 cmets 中的回复:

消息内部只是节点通过节点 HTTP 服务器发送到页面的 html。消息并不大,只是诸如“window.open("google.com"); 之类的小东西。消息只有在用户点击游戏中的某个东西而不是点击时才会触发。

在我看来,您真正想要的是某种 RPC。有一个可靠的NPM module called Socket.IO 可以很好地为您总结这一切。触发一个事件,它可以在服务器端处理,任何回调数据都会被发送回客户端。

http://socket.io/docs/

【讨论】:

  • 我现在正在使用 Socket.io w/Node.. 我只是不知道如何让我的服务器向触发它的特定用户发送消息。
  • @user3818791 是的,消息不会自动发送给每个人,因此您必须编写代码才能做到这一点。不要那样做。我不知道你还希望我告诉你什么。您没有显示任何代码。我怎么知道你试过什么没试过?从您的问题来看,您似乎不知道 AJAX 是什么,现在您说您已经解决了您的技术选择。所以,如果我要回答你的问题,我必须看看你在代码中实际上在做什么......否则我不知道你在做什么。
  • @user3818791 我还是一头雾水……你在服务器哪里发出field 事件?您对如何发出该事件有疑问吗?如果是这样,只需在用户连接时保存对该套接字的引用并且您知道它的用户 ID。
  • 我是 javascript 新手,我真的不明白这一切。我只想让 Javascript 检查通过 PHP 参数显示 ID 的 DIV 的内容(例如 $ID 将显示 ID),然后在消息中我想拆分数据,使其 ("","") (ID ,STUFFLIKEAJAVASCRIPTOPENUP);所以它只发给那个用户?
  • 查看什么div的内容? “id 通过 PHP 参数显示”是什么意思?那么在什么消息中呢?拆分什么数据?而且,发送给什么用户的内容是什么?我在您的问题中阅读了所有内容,我根本不明白您要做什么。 PHP 在服务器端运行。 JavaScript(Node.js 应用程序除外)在客户端运行。他们彼此有什么关系?什么发送什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多