【问题标题】:websocket php vs node jswebsocket php与节点js
【发布时间】:2014-04-26 21:41:57
【问题描述】:

有人能说“websocket php”http://www.php.net/manual/en/sockets.examples.php> 和 node.js 有什么区别吗? .我和使用 websocket php 聊天,但我不知道如果这个聊天会转移到 node.js 会更好吗?

【问题讨论】:

  • 您正在将框架与聊天脚本进行比较。如果您想将聊天脚本移植到 node.js,您应该使用 socket.io,因为在 node.js 中提到 websocket 库时,它几乎是一个标准。 js。此外,您至少应该尝试使用 socket.io 在 node.js 中编写基本的聊天客户端,以真正知道哪个更好。恕我直言,您应该尝试一下。
  • 您指向的 PHP 示例不是 WebSocket,而是原始 TCP 套接字。您将无法使用浏览器连接到它。这是一个用于 PHP 的 WebSocket 服务器:socketo.me。有了 Node,当然还有多个 WebSocket 服务器(和客户端)实现。
  • thx #oberstet 解释一下,但我的聊天是基于本教程:sanwebe.com/2013/05/chat-using-websocket-php-socket,这意味着它不是“真正的”websocket?

标签: javascript php node.js websocket


【解决方案1】:

Websockets 是一种基于 TCP 套接字的传输。如果您在提供的链接中注意到,作者建议手动解码数据帧。正如@oberstet 推荐的那样,有些项目可以帮助您解决这个问题(另请参阅https://github.com/nicokaiser/php-websocket)。 @Kanaka 对 websockets 和原始 TCP 套接字 here 之间的区别有很好的解释。

使用 node.js 无疑是为 websocket 连接推出服务器的一种智能、低开销的方法。另一种选择是使用实时网络。特别是 PubNub 在how to write a chat app in 10 lines of code 上有一篇博文,非常易于访问。简单来说,代码是:

Enter Chat and press enter
<div><input id=input placeholder=you-chat-here /></div>

Chat Output
<div id=box></div>

<script src=http://cdn.pubnub.com/pubnub.min.js></script>
<script>(function(){
    var box = PUBNUB.$('box'), input = PUBNUB.$('input'), channel = 'chat';
        PUBNUB.subscribe({
            channel : channel,
            callback : function(text) { box.innerHTML = (''+text).replace( /[<>]/g, '' ) + '<br>' + box.innerHTML }
        });
        PUBNUB.bind( 'keyup', input, function(e) {
            (e.keyCode || e.charCode) === 13 && PUBNUB.publish({
            channel : channel, message : input.value, x : (input.value='')
        })
    } )
})()</script>

这样的简单方法可以让您完全省去服务器托管和配置。希望这会有所帮助!

【讨论】:

    【解决方案2】:

    这就像问“PHP 和 HTTP 有什么区别”。 Node.js 是您编写代码的技术框架。WebSockets 是一种可以使用技术框架实现的协议。您可以使用 Node.js 来实现 WebSocket 的服务器端方面。

    【讨论】:

      猜你喜欢
      • 2015-01-27
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      • 2013-04-06
      • 2016-10-12
      • 2021-06-30
      • 2020-05-04
      • 2022-01-23
      相关资源
      最近更新 更多