我从来没有做过任何API,我最近才意识到REST,从未使用套接字或node.js,但我在使用所有这些时都考虑过这个简单的项目。
想象一下通常的应用程序与请求/响应的东西。没有什么花哨。但有时我需要实时功能,让我们说有网站的实时支持,聊天。因此大多数用户从不需要套接字,一切都很简单,但是当他们这样做时,那又是什么呢?这看起来如何与restful api一起工作?
答案 0 :(得分:1)
在标记时,socket.io
非常适合您。它在浏览器内为您的服务器创建一个套接字,而无需用户使用websockets和longpolling安装任何第三方程序。对于拥有旧浏览器并且没有这些浏览器内置功能的用户,它可以回退到第三方插件:Flash Player,但几乎所有浏览器都安装了它。
您是否习惯于Javascript或面向对象的编程,socket.io
和node.js
是在公园散步。如果您不想使用node.js
和socket.io
,可以使用以下信息编写自己的客户端服务器实现:
WebSockets
Long Polling example
Flash AS3 Socket
作为一个小小的愿望,您只需要在默认端口80中运行的默认Web服务器(Apache,Nginx,Lighthttpd,等等......)以及在其他端口运行node.js
服务器,假设为8080。第二台服务器将提供连接所需的所有文件,因为socket.io
只能连接到服务文件的同一域和端口(出于安全原因,我猜)。
简而言之,您将拥有2台服务器:一台服务于您的整个网页,另一台服务器提供连接聊天所需的文件(显然也可用于聊天)。
我在我的一个页面(一个直播体育直播网站)中完成了这个配置,并将聊天添加到我的网站,我在端口8080中运行this server并将其加载到主页内部iframe:http://www.example.com:8080/
作为一个adition,您可以在node.js中创建一个完整的http服务器,但我不认为它作为专业的Web服务器很有用。