繁体   English   中英

HTML5 websockets与PHP websockets vs node.js websockets?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM