【发布时间】:2017-04-03 17:34:14
【问题描述】:
我是使用 socket.io 和 node.js 进行实时编程的新手。我在博客网站上看到了这段代码,遗憾的是没有对下面的代码发表任何评论或解释:
socket.on( 'new_message', function( data ) {
io.sockets.emit( 'new_message', {
name: data.name,
address : data.address
});
});
我已经检查了 socket.io 文档,但是对于使用 XAMMP 的 PHP 服务器没有足够的解释。
我使用 PHP 作为我的服务器端脚本语言,上面的代码与 PHP 脚本通信,但是,我不知道这些代码的含义。
在socket.on 之后,有一个名字'new_message'。我不知道它是如何工作的。
另外,还有 JSON 名称:data.name,emit function,.. 我不知道这些在哪里
存在。有人会尝试解释这里发生了什么?
【问题讨论】:
-
你为什么使用nodejs和php?
-
我正在使用 PHP 将数据保存到数据库中。现在,对于nodejs,它运行socket.io来实时发送和检索数据到数据库中。,
-
就个人而言,我认为这不是问这个问题的正确地方,因为基本上代码是有效的。根据我对它的了解(没有使用 Node.JS 的经验),它执行以下操作:当套接字接收到新消息时,它会向所有连接的客户端发出(发送)消息,其中包含发送者(发送消息的客户端)到套接字)名称和最可能的 IP 地址
-
如果您更喜欢 php 作为后端,请查看 php socket.io 服务器:github.com/walkor/phpsocket.io。查看链接。为了回答您的一些问题,浏览器中的
socket.on( 'new_message' ...表示客户端正在等待来自服务器的new_mesage数据包。如果您在我上面发布的链接中使用 php 服务器,则意味着它正在等待服务器执行$io->emit('new_message', ...。 -
你的意思是,如果我使用 PHP,我就不需要 node.js 了吗?抱歉,我是节点新手