我正在开发实时应用程序(聊天),使用的是Angular框架,后端是PHP(codeigniter restapi),数据库是MongoDB。我听说socket.io是最好的用于实时通信的库,而且我发现socket.io主要与node.js一起使用,那么我是否需要基本了解node.js或其他可行的方法来使用socket.io、Angular和PHP?
这取决于您的API规模。但在我看来,对于MongoDb和sockets,node.js比PHP更好。为什么?MongoDB使用JSON格式,而NodeJS是JavaScript服务器,因此更适合处理JSON。此外,NodeJS具有非阻塞IO,因此对于socket而言,它将比PHP更快。 您可以在这里了解更多信息。 NodeJS非常容易学习。
如果您已经拥有PHP,则无需启动新的node.js服务器。您可以使用类似于socket.io的库。让我们检查一下: Elephant IO
我认为您不需要使用API中的所有数据进行socket。因此,您可以仅为socket调用创建node服务器,并为API调用创建PHP服务器。
如果您不需要使用node.js,那么就不必使用它。我不建议尝试混合使用node和php。
如果想要在php中使用socket.io,请看一下elephant.io:http://elephant.io/#usage。我认为这个库可以满足您的需求。