php - 如何远程或在服务器上运行 Ratchet?

标签 php websocket socket.io ratchet

XAMPP 在我的本地机器上一切正常。但是在我将文件上传到服务器后,它给出了这样的错误...

Fatal error: Uncaught exception 'React\Socket\ConnectionException' with message 'Could not bind to tcp://0.0.0.0:8080: Address already in use' in 
/home/sites/jemaottest.com/public_html/websocket/vendor/react/socket/src/Server.php:29 Stack trace: #0 
/home/sites/jemaottest.com/public_html/websocket/vendor/cboden/ratchet/src/Ratchet/Server/IoServer.php(70): React\Socket\Server->listen(8080, '0.0.0.0') #1 
/home/sites/jemaottest.com/public_html/websocket/bin/chat-server.php(17): Ratchet\Server\IoServer::factory(Object(Ratchet\Http\HttpServer), 8080, '0.0.0.0') #2 {main} thrown in 
/home/sites/jemaottest.com/public_html/websocket/vendor/react/socket/src/Server.php on line 29

当我运行 chat-server.php 文件时。

我在 Ratchet 的故障排除页面上发现了一些东西,上面写着,

If you want to open Ratchet up (not behind a proxy) set the third parameter of App to '0.0.0.0'.

我试过了,但是没用,

<?php 
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;

require dirname(__DIR__).'/vendor/autoload.php';

$server = IoServer::factory(
    new HttpServer(
        new WsServer(
            new Chat()
        )
    ),
    8080,
    '0.0.0.0'
);

$server->run();  
?>

还是报同样的错误。

我现在该怎么办?

最佳答案

$server = IoServer::factory(
new HttpServer(
    new WsServer(
        new Chat()
    )
),
8282

);

只需更改端口并尝试...我的端口在更改端口后工作正常。并且也不要忘记在 websocket javascript 类中更改端口中的端口。

var conn = new WebSocket('ws://yourdomain.com:8282');

关于php - 如何远程或在服务器上运行 Ratchet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32779364/

相关文章:

java - 当我关闭程序时端口如何关闭

javascript - 为什么当我提交聊天应用程序的表单时,输出会乘以我提交的次数

php - Laravel 5.3 使用单个 SQL 查询和缓存需要 1.9 秒

php - PDO 准备语句插入 1 而不是字符串

php - 如何在不使用多个查询语句的情况下将特定的 dbs 值分配给多个变量?

ruby-on-rails - Heroku:Rails 5 ActiveCable配置问题。 WebSocket握手期间出错: 'Upgrade' header 丢失

php - Gmail 和 Hotmail 被标记为垃圾邮件

node.js - 多个 websocket 到多个服务器 : how do they communicate?

php - symfony 发生错误:通知:未定义的属性:::$容器

node.js - Socket.io - 服务器监听特定房间