【问题标题】:how to run a websocket server?如何运行 websocket 服务器?
【发布时间】:2012-01-18 22:55:10
【问题描述】:

我查看了各种关于如何制作 PHP websocket 聊天应用程序的简单教程。我觉得这将是查看 websockets 的一个很好的起点。但是我似乎在第一道关口就跌倒了!!

我尝试过运行一些源代码示例,但都没有成功。

我有一个 Windows 7 操作系统,我正在尝试使用 Wamp 运行 websocket 服务器。

我已经尝试从 windows 命令提示符和 wamp 附带的命令提示符运行它。

我应该在这些提示中输入什么来启动和运行 websocket 服务器?

我很欣赏这个问题非常模糊。但是,如果有人能阐明我哪里出错了,我将不胜感激。

【问题讨论】:

    标签: html websocket wamp wampserver


    【解决方案1】:

    要使用 websocket,您需要同时拥有支持 websocket 协议的 浏览器服务器。您还需要像 Apache 或 IIS 这样的传统 Web 服务器来为您网站的静态内容提供服务。

    phpws 是用 PHP 编写的客户端和服务器库。

    您的浏览器还需要 websocket 支持 - 这意味着您使用的是 Firefox 或 Chrome(IE 没有适当的 WS 支持,IE10 除外)。

    一旦您下载了 websocket 服务器(这与 Apache 不同),您需要运行它并确保它在后台运行。这意味着除非您使用的是 Windows 原生应用程序(例如 SuperWebSocket),否则您需要确保不要关闭命令提示符窗口!

    服务器运行后,您的客户端可以连接到它以推送消息。这是一个来自 phpws 项目的 PHP 客户端示例:

    <?php
            require_once("websocket.client.php");
    
            $input = "Hello World!";
            $msg = WebSocketMessage::create($input);
    
            $client = new WebSocket("ws://127.0.0.1:12345/echo/");
            $client->open();
            $client->sendMessage($msg);
    
            // Wait for an incoming message
            $msg = $client->readMessage();
    
            $client->close();
    
            echo $msg->getData(); 
    ?>
    

    【讨论】:

      【解决方案2】:

      这个 php 库可以用来设置一个非常简单的 php websocket 服务器

      https://github.com/ghedipunk/PHP-Websockets

      我已经测试过了,它可以工作。

      【讨论】:

        【解决方案3】:

        我不知道你哪里出错了,所以我只是提出一些提示:

        1. 我推荐 Ratchet 作为强大的灵活 Web 套接字库。
        2. 在您可以从命令提示符运行 php 脚本之前,您应该add php to your Environment
        3. 在 WAMP 上安装并启用所有必要的扩展。通常使用 php_sockets 和 cURL。

        不过之后您会发现在您的 Windows 上安装虚拟机并在其上安装 Ubuntu 会更容易。

        【讨论】:

          【解决方案4】:

          我不知道如何使用 PHP 制作 websocket 服务器,因为通常 PHP 用于网页(使用 HTTP)而不是 websockets(不同的协议)。我发现真正容易的是带有socket.io 的websockets。这是node.js(一个使用 JavaScript 编写应用程序的平台)的库,它还有一个客户端脚本,可以很容易地在几乎任何浏览器上使用 websocket,因为它还提供了 Flash 和 Ajax 轮询等后备功能。

          【讨论】:

            猜你喜欢
            • 2019-12-29
            • 1970-01-01
            • 2011-05-06
            • 2011-05-20
            • 1970-01-01
            • 2013-04-03
            • 2013-07-30
            • 2021-06-06
            • 1970-01-01
            相关资源
            最近更新 更多