nodejs服务器和PHP网站之间的通信选项



到目前为止,我使用websocket在nodejs和php之间进行通信。我在nodejs中创建了一个websocket服务器,它正在监听一些自定义端口

然后在php脚本中,我使用stream_socket_client()和相关函数作为客户端进行连接。然后,每当我想从服务器上得到一些东西时,我都会发送一条消息,并期望得到一个带有数据的响应(作为json(。然后,它将构建html来向用户显示该数据。

这是有效的,但它似乎并不自然,我想知道是否有更好的选择。顾名思义,Websocket是为网络设计的,但我将其用于本地服务器和脚本

我应该提到的是,服务器需要能够同时与多个客户端通信,因为一个网站可以有多个访问者。nodejs-websocket模块提供了这种功能。但它不需要保持连接的活力,因为php脚本只做它自己的事情并停止。

让我们忽略为什么同时使用Node.jsPHP(这可能是你感觉不好的原因(,专注于RPC问题。

在选择RPC方法时,您应该考虑并比较每种方法的不同之处,请参阅我的清单。

检查表

这有助于我选择方法。

运行时间:

  • 速度
  • 内存
  • 稳定性

开发时间:

  • 时间
  • 难度
  • 可测试性和/或可调试性

结论

如上所述,据我所知,您当前的Web套接字方法已经完成了所有检查表,如:

运行时间:

  • 速度:localhost连接需要0毫秒
  • 内存:2 MB左右(每次请求后释放(
  • 稳定性:Web套接字是全局使用的,如果有任何东西是稳定的,那么它就是本地Web套接字

开发时间:

  • 时间:它已经开发出来了
  • 难度:众所周知
  • 可测试性和/或可调试性:可使用PHPUnit和/或用于测试Node.js代码的任何东西进行测试

请使用Web套接字,因为即使您开发了某种自定义协议,它也会破坏所示清单中的多个点。

最新更新