如何运行websocket服务器?

时间:2011-12-13 00:35:04

标签: html5 websocket wamp wampserver

我已经看了很多关于如何制作PHP websocket聊天应用程序的简单教程。我觉得这是查看websockets的一个很好的起点。但是我似乎在第一个障碍下跌了!

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

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

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

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

我很欣赏这个问题很模糊。但如果有人能说明我出错的地方,我将非常感激。

4 个答案:

答案 0 :(得分:2)

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

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

我已经测试过,它有效。

答案 1 :(得分:1)

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

  1. 我建议将Ratchet作为一个强大的灵活Web套接字库。
  2. 在从命令提示符运行php脚本之前,您应该add php to your Environment
  3. 在WAMP上安装并启用所有必要的扩展。通常使用php_sockets和cURL。
  4. 然而,在您发现在Windows上安装虚拟机并在其上安装Ubuntu之后,您会更容易。

答案 2 :(得分:1)

要使用websockets,您需要同时拥有支持websocket协议的浏览器服务器。您还需要一个传统的Web服务器,如Apache或IIS,以便为您网站的静态内容提供服务。

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(); 
?>

答案 3 :(得分:0)

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