I use signalr for connection between my android game with unity and server but because of unreliability of mobile data connection (3G) web socket connection lost and reconnect periodicly. what is the best transport type in this situation? Does Server Sent Events better than WebSocket for unreliable networks? Description : client sends requests almost every 15 seconds.
What is the Best Transport type of SignalR for unreliable networks?
779 Views Asked by ali afshari At
1
There are 1 best solutions below
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 SIGNALR
- React-native Long-polling or SignalR/websocket?
- Problem when use SignalR with ASP.NET Boilerplate - Connection ID required
- Websocket/SignalR stops receving data consistently on low-end machine
- Implementing User-Specific Notifications with SignalR in an ASP.NET Core Web API & React Project
- SignalR Client won't print the Queue Position
- ANR about Unsafe.park (Native method) in play console
- SignalR client in Unity Android platform doesn't receive messages from server
- Why signal R app throwing SocketClosed exception for RedisConnection(in aws) for and state is "ConnectedEstablished" and app works fine?
- How cobrowsing works?
- SignalR timer event unsubscribe if user disconnected or browser closed
- Issue with Microsoft.AspNet.SignalR.Client hanging/crashing app after app being in background for 10 + minutes
- How to configure WebSocket for SignalR for successful response in listener? How to capture messages from developer console using WebSocket samplers?
- Blazor StateHasChanged() method not working with SignalR
- How to check if SignalR is using redis elasticache programmatically in C#. Is there any code to get stored key value pairs
- Can I get results from multiple SignalR clients from Hub
Related Questions in SERVER-SENT-EVENTS
- NextJS 14 SSE with TransformStream() sending messages in a single response
- How to keep alive Server sent event connection?
- SSE implementation in Pedestal using individual channel per user
- PHP SSE , data not shown properly
- Concurrency issues with server-sent events in Python
- Getting wrong SSE response from the server
- How to mock EventSourcePolyfill messages in Cypress?
- Code exiting after calling await client.ExecuteAsync(request)
- Nest.js - Error on EventSource when using Server side event
- Notification system using SpringBoot/WebFlux with React.js
- Quart: how to get Server Sent Events (SSE) working?
- Server sent events in pedestal returns empty response
- Monkeypatch 'print' to 'yield' for streaming output
- Server Sent Event with React-native
- AWS CloudFront Not Forwarding Server-Sent Events: "This request could not be satisfied"
Related Questions in UNRELIABLE-CONNECTION
- Publishing a ClickOnce Winforms app in an unreliable network environment
- RabbitMQ - deal with unreliable service
- BLE: obtaining BluetoothDevice via BluetoothAdapter#getRemoteDevice() vs scanning
- Why does Android Bluetooth stop receiving bytes after a few minutes?
- What is the Best Transport type of SignalR for unreliable networks?
- Android app handling write requests over unreliable network
- Solution for Web Application with Unreliable Internet Connection
- What will happen if a TCP RST is lost?
- MySQL table synchronization : incomplete copy without error
- Message queuing from android considering unreliable network
- Application design for data persistence over unreliable internet
- Two generals' agreement
- PubSub + Reliable message delivery to unreliably present subscribers
- Strategies for Java ORM with Unreliable Network and Low Bandwidth
- Reliable UDP and ACK method question
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)
Popular # Hahtags
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?
The transport is not the problem. If 3G goes off, it doesn´t matter what transport you are using. I suggest you to let SignalR pick the transport. You just need to implement a reconnection logic. SignalR will try to reconnect for some seconds, after a time out (don´t remember how many seconds) it won´t ever reconnect. It´s not hard to implement the logic as you can listen for connection events (connected, disconnected, reconnecting...).
Another issue is that any method your app calls (when disconnected or when trying to reconnect) will be lost in the dark. So a good idea may be some sort of caching to save those calls in a queue and re-send them once reconnection is done.
Check out how this sample handles connection, disconnections and caching of failed method calls