[英]HTML5 websockets vs PHP websockets vs node.js websockets?
我决定使用WebSockets作为我的网站聊天应用程序,我刚开始学习websockets,但我有三个不同的选项,node.js,PHP或HTML5。
我想知道的是三者之间有什么区别,我的意思是我不想学习所有这三者,如果有的话比其他人好。
Web套接字是一种定义双方如何通信的协议 。 这是语言不可知的; 任何语言都可以提供适配器与另一个Web套接字通信。 你提到的三件事是这个适配器的三种不同的实现。 对于聊天应用程序,您可能至少需要其中两个:一个服务器,一个客户端。 选择您要编写服务器的语言(PHP或Node.js),并使用浏览器中的HTML 5 Web套接字功能与服务器通信。
什么是websockets:
WebSockets代表服务器和客户端之间双向实时通信的标准。 任何服务器和任何客户端之间。
WebSocket服务器可以用任何能够使用Berkeley套接字的服务器端编程语言编写,例如PHP或Node。
就像任何其他协议一样,让我们说像http:你需要一个客户端和一个服务器。
如前所述,Web套接字的服务器端实现可以使用任何一种服务器端语言完成,包括PHP和Node。
对于客户端实现,您将需要在浏览器上运行的html5 we-bsockets。
因此,你不需要同时学习PHP和Node,但其中一个加上html5。
我建议使用NodeJS来实现套接字,因为它可以让你在客户端和服务器上使用相同的技术(JavaScript)。 nodeJS有socket.io
模块,它将使用类似的API处理服务器端和客户端组件。
因此,您不需要编写太多代码来实现套接字。 这是节点的一个例子:
服务器:
var server = require("net").createServer();
var io = require("socket.io")(server);
var handleClient = function (socket) {
// we've got a client connection
socket.emit("tweet", {user: "nodesource", text: "Hello, world!"});
};
io.on("connection", handleClient);
server.listen(8080);
客户:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect("http://localhost");
</script>
socket.on("connect", function () {
console.log("Connected!");
});
注意:
客户端的Web套接字是html5功能,在不支持html5的浏览器中不是availbale。 您可以在此处查看浏览器支持
如果你仍然选择PHP,你可以在这里了解HTML5 websockets
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.