小编ngm*_*mir的帖子

不使用 socket.io 和 node.js 发出/接收事件

所以我有这个非常基本的 socket.io 设置,您可能已经看过一千次了。

\n\n

请注意,这里的文件是通过 apache 提供的。

\n\n

服务器(app.js)

\n\n
var io = require(\'socket.io\').listen(8080);\n\nio.sockets.on(\'connection\', function(socket){ \n    socket.emit(\'server ready\', {msg: \'hi\'}) ;\n\n    socket.on(\'random event\', function(data) {\n        console.log(\'received\');\n    })\n}); \n
Run Code Online (Sandbox Code Playgroud)\n\n

客户

\n\n
$(document).ready(function() {\n    var socket = io.connect(\'http://127.0.0.1:8080/projectname/server/\');\n\n    socket.on(\'server ready\', function(data){ \n        console.log(\'server ready!\'); \n    });\n\n    socket.emit(\'random event\', {hurr: \'durr\'});\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,我得到的唯一输出是

\n\n
 debug - websocket writing 5:::{"name":"server ready","args":[{"msg":"hi"}]}\n
Run Code Online (Sandbox Code Playgroud)\n\n

在节点控制台中,而在客户端控制台中没有任何内容。这是错误的。

\n\n

我已经尝试了 socket.io 网站上的基本示例,它显示了完全相同的行为。它将发出的数据记录在节点控制台中,但似乎没有发生任何其他事情。

\n\n

编辑:经过进一步调查,在 Firefox 中访问该站点会在节点控制台中创建不同的输出:

\n\n
info  - handshake authorized 178702677759276313\n   debug - setting request …
Run Code Online (Sandbox Code Playgroud)

javascript node.js socket.io

5
推荐指数
1
解决办法
5728
查看次数

可选匹配和位置——这个查询是如何工作的?

考虑以下模式,其中橙色节点为 类型Person,棕色节点为 类型Movie。(这是来自 Neo4j 附带的“电影”数据集)。

\n\n

图式

\n\n

我试图编写的查询如下:

\n\n
\n

查找所有审阅者对,一对一地查找,然后返回两位审阅者的姓名\n。如果他们都评论了同一部电影,\n 也返回电影的标题。限制查询,使两位审稿人姓名的首字母为 \xe2\x80\x99J\xe2\x80\x99

\n
\n\n

现在,考虑以下 CYPHER 查询:

\n\n
MATCH (a:Person)-[:REVIEWED]->(:Movie),\n      (b:Person)-[:REVIEWED]->(:Movie),\n      (a:Person)-[:FOLLOWS]->(b:Person)\nOPTIONAL MATCH (a:Person)-[:REVIEWED]->(m:Movie)<-[:REVIEWED]-(b:Person)\n  WHERE a.name STARTS WITH \'J\'\n    AND b.name STARTS WITH \'J\'\nRETURN DISTINCT a.name, b.name, m.title\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将返回以下(不正确)结果:

\n\n

结果不正确

\n\n

为什么?

\n\n

到目前为止我收集到的内容:

\n\n
    \n
  • 直接适用WHERE于 ( OPTIONAL)MATCH 于其前面
  • \n
  • WHERE考虑约束条件寻找匹配时而不是事后
  • \n
  • 当 aOPTIONAL MATCH不完全适用时,null将用于图案的缺失部分
  • \n
\n\n

我仍然不明白,为什么“Angela Scope”出现在结果中。无论如何,如果谓词应该禁止它出现。

\n\n
\n\n …

neo4j cypher

2
推荐指数
1
解决办法
3829
查看次数

标签 统计

cypher ×1

javascript ×1

neo4j ×1

node.js ×1

socket.io ×1