amphp / websocket-server

WebSocket component for PHP based on the Amp HTTP server.
MIT License
114 stars 17 forks source link

From Ratchet to AMPHP WebSocket #27

Open programarivm opened 8 months ago

programarivm commented 8 months ago

At ChesslaBlab, we're thinking along the lines of moving from Ratchet to AMPHP WebSocket. Since we've been able to develop an object-oriented socket exposing chess functionality, this should be easy to achieve.

See:

Stay tuned, and keep up the great work!

programarivm commented 8 months ago

It seems as if the newest version of amphp/websocket-server can't be installed on our environment because of rubix/ml 2.4.0 using a non-compatible version of amphp/parallel and amphp/byte-stream.

composer install
Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies                                 
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires chesslablab/php-chess dev-master -> satisfiable by chesslablab/php-chess[dev-master].
    - rubix/ml 2.4.0 requires amphp/parallel ^1.3 -> satisfiable by amphp/parallel[v1.3.0, ..., v1.4.3].
    - amphp/parallel[v1.3.0, ..., v1.4.3] require amphp/byte-stream ^1.6.1 -> satisfiable by amphp/byte-stream[v1.6.1, ..., v1.8.1].
    - You can only install one version of a package, so only one of these can be installed: amphp/byte-stream[v1.4.0, ..., v1.8.1, v2.0.0, v2.0.1, v2.0.2, v2.1.0].
    - amphp/websocket-server v4.0.0 requires amphp/byte-stream ^2.1 -> satisfiable by amphp/byte-stream[v2.1.0].
    - chesslablab/php-chess dev-master requires rubix/ml ^2.4 -> satisfiable by rubix/ml[2.4.0].
    - Root composer.json requires amphp/websocket-server ^4.0 -> satisfiable by amphp/websocket-server[v4.0.0].

See https://github.com/RubixML/ML/issues/305

bwoebi commented 8 months ago

I think the main problem is that packages depending on amp v3 have only relatively recently stabilized. I think now is the time for them to possibly consider upgrading :-)

programarivm commented 8 months ago

Thanks for the response. Rather than replacing Ratchet, we'll be supporting multiple different async frameworks at the same time including Ratchet, AMPHP and Workerman. Looking forward to the updates!