我看了各种关于如何制作PHP websocket聊天应用程序的简单教程。我觉得这将是研究websockets的一个很好的起点。然而,我似乎在第一个障碍就摔倒了!!
我试过运行一些源代码示例,但没有运气。
我有一个windows 7操作系统,我正在尝试使用Wamp运行websocket服务器。
我试过从windows命令提示符和wamp附带的命令提示符运行它。
我应该在这些提示中输入什么来启动和运行websocket服务器?
我知道这个问题很模糊。但如果有人能指出我哪里做错了,我将非常感激。
要使用websocket,你需要同时拥有浏览器和支持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();
?>
这个PHP库可以用来设置一个非常简单的PHP websocket服务器
https://github.com/ghedipunk/PHP-Websockets我已经测试过了,它可以工作
我不知道你哪里出错了,所以我只是把一些提示:
- 我推荐Ratchet作为一个强大灵活的web套接字库。在你可以从命令提示符运行php脚本之前,你应该把php添加到你的环境中。
- 在WAMP上安装并启用所有必要的扩展。通常使用php_sockets和cURL。
然而,一段时间后,你会发现在Windows上安装虚拟机和安装Ubuntu更容易。
我不知道如何使用PHP制作websocket服务器,因为通常PHP用于网页(使用HTTP)而不是使用websockets(不同的协议)。我发现真正容易的是websockets与socket.io。这是一个用于node.js(一个用JavaScript编写应用程序的平台)的库,它也有一个客户端脚本,使得它很容易在几乎任何浏览器上使用websockets,因为它还提供了回退,如Flash和Ajax轮询。