我已经使用棘轮 php 尝试了非常基本的 websocket 教程,正如http://socketo.me/docs/hello-world中所示
websocket服务器的代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
require 'vendor/autoload.php';
require 'chat.php';
use Ratchet\Server\IoServer;
use HHWS\Chat;
$server = IoServer::factory(
new Chat(),
8080
);
$server->run();
要运行我做的服务器:
$ php ws-server.php
为了测试与服务器的连接,我做了:
telnet 127.0.0.1 8080
在本地测试时,这工作得非常好。用户可以使用多个 telnet 终端聊天。
然后我将代码上传到实时服务器。并尝试运行服务器。然后尝试像以前一样使用telnet连接到该服务器,它无法连接。它只显示“正在尝试..”消息,然后显示“无法连接到远程主机:连接超时”。
我不知道为什么会这样,问题是什么。代码完全相同。这是我正在做的非常基本的 hello world 示例。谁可以帮我这个事。使用“Websockets”是否对实时服务器有任何其他要求才能工作。
更新: 实际上,实时服务器是Amazon EC2;这是否需要为 websocket 设置额外的东西才能工作?