2011-12-13 52 views
3

我已经看过如何制作PHP websocket聊天应用程序的各种简单教程。我觉得这将是查看websocket的一个很好的起点。但我似乎在第一个障碍下降!如何运行websocket服务器?

我试过运行一个数字源代码的例子,但没有运气。

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

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

我应该如何进入这些提示让websocket服务器启动并运行?

我很欣赏这个问题很模糊。但是,如果任何人都能了解我要去哪里的错误,我会非常感激。

回答

0

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

1

我不知道你在哪里错了,所以我只是把一些技巧:

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

但是之后你会发现在你的Windows上安装虚拟机会比较容易。

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(); 
?> 
相关问题