from websocket-rails wiki, websocket-rails need to started as standalone server when we use Phusion Passenger or Unicorn, but I found faye-rails do not need to do this. what's the difference between them ?
why websocket-rails need to started as a standalone server to support non-eventmachine based web servers?
174 views Asked by Zhanhui Liang At
1
There are 1 answers
Related Questions in RUBY-ON-RAILS
- How to display legend box in tooltip text for amCharts 5 in Rails application?
- how to integrate cashfree payment gateway in ruby on rails project
- RSpec Capybara throwing Selenium error when trying to click a button with browser confirm
- rails minitest not picking up fixture properly, instance variable not percolating
- Duplicate GET requests - Rails & Heroku
- How to stub out current_user in JWT model for Rspec?
- NameError in Home#index
- Verifying Google Identity OAuth2 token with Ruby
- Error WebMock::NetConnectNotAllowedError in testing with stub using minitest in rails (using Faraday)
- why is mission_control-jobs erroring with load path error?
- Rescuing validation errors from a polymorphic association
- New error on random number assigned to local variable , Rails
- How to fix error in model with gem lockbox
- Images uploaded via Active Storage not displaying in Active Admin or on certain devices
- controller test_methods generating two errors intermittently
Related Questions in WEBSOCKET
- Resolving ElephantIO ServerConnectionFailureException: Error establishing connection to server
- Django socketio process
- How to decode audio stream using tornado websocket?
- Java and React WebSocket - Error Connection
- Socket.io nodejs server .NET connection
- Troubleshooting WebSocket 502 Error in Python Code
- Getting an error in Socket.io wordle project
- Best practices with realtime data / websockets. Send vs. revalidate data
- My socket.io web socket application is not sending data to some users
- Android 13 & 14 seem to close WebSocket connection, if i put app in background, after ~20s
- Audio bytes chunks getting corrupted during streaming using Django and Websockets
- Odoo live chat not working when using apache reverse proxy
- websocket Fatal error message stating "Failed to listen on tcp://0.0.0.0:8080: Address already in use
- Stomp connection using JWT token in Python
- Symphony Fintech (XTS) market-data socket data integration in PyQt6 using python3
Related Questions in FAYE
- Trouble implementing JS / Browser Client - Build Activity Feeds & Streams subscriptions with GetStream.io in Angular 17 using the Realtime (Faye)
- Websocket connection with rails 7 to external wss return only ping
- I am trying to connect Faye with Redis, client closed error
- Connection refused error faye port 9292 private_pub gem
- Running websockets server side client in parallel to backend app with rails faye websockets
- stop actionCable after fewDays
- How to use Websocket (socket.io) with Ruby?
- Why the throughput of publish/subscribe systems is stable?
- Faye requesting an insecure script <URL>
- Faye Websocket Ruby not working as expected
- Using RequireJS with node to optimize creating single output file does not include all the required files
- What should be my FAYE_URL value for Rails chat application?
- React Native chat (Front-end) with Faye rails (Back-end)
- Websocket not working on server
- Implementing Real Time application using Redis and Faye
Related Questions in WEBSOCKET-RAILS
- Rails websocket connection ID storage
- Websocket controller not being auto loaded in Rails dev environment
- Websocket Rails | 504 response | Connection ends abruptly
- Rails 4 + Websocket-rails + Passenger + Nginx + Load balancer
- why websocket-rails need to started as a standalone server to support non-eventmachine based web servers?
- Rails initializer file not loading in production environment
- WebSockets: Can multiple Events fired in a private channel arrive out of order in client
- Websocket-rails and redis-rb do not restore Pub/Sub Channel on failover
- Websocket-Rails gem running as standalone timesout trying to connect to Thin on live server
- Websocket in Rails app on Heroku is not working
- Websocket Rails getting 404 during handshake
- websocket channel for the "current user"
- websocket-rails: Server emits http:// protocol; client expects ws:// protocol
- websocket-rails: Cannot connect websocket
- The stratigy of build a talk-to-talk system using em-websocket in rails?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
The difference is the API used for "hijacking" or controlling the socket.
Both solutions take the raw socket away from the original server and handle it independently from the server... However,
websocket-railsuses an EventMachine based API, while Faye checks for different supported options, such as thehijackAPI.For this reason, when a non EventMachine based server is used,
websocket-railsisn't able to take the socket away from the server and instead runs a separate server that handles only Websocket connection.Other approaches include server side support for the websocket protocol in accordance with the proposed Websocket Rack Specification draft, which is implemented by Iodine (disclaimer, this is my project). Other platforms (i.e. Puma) are also working on support for the specification.
This approach leaves the control of the socket with the original server, allowing the original server to handle all the protocol details. It usually allows for better resource handling, as the socket handling is unified and often resource usage is better optimized. Also, with this approach, code duplication is avoided and the memory footprint is often smaller.
Another upside to this new specification and approach is that people who write decent servers are usually better aware of networking and server programming issues (such as slow client DoS attack issues etc'), allowing for a more robust and secure Websocket implementation.
P.S.
I would avoid
websocket-railsif possible, ActionCable would probably have better Rails integration and unexpected socket hijacking might break middleware, causing weird bugs (at one pointhijackwould cause weird database connection pooling issues, where connections weren't returned to the pool).Good Luck!