Comments (4)
When you pass a callback to the connection method that callback is executed after the server sends a successful connection message. That's how you know when it's connected.
Disconnection is trickier. There is no DDP message for 'disconnect'. Rather, the client and server may exchange pings to make sure that one another are still there. If too long an interval passes without receiving a ping response, the server will close the connection.
If the connection closes, SwiftDDP automatically tries reestablish the connection. This is analogous to the way DDP works in the browser (MeteorJS). The connection is designed to happen in the background, independent of the application code, and to be managed by the server.
So, for the initial connection, use the callback. As for disconnection, it should not happen unless your server closes the connection because it can no longer reach your client.
from swiftddp.
Thank you for the quick reply. However, what I need in my application is to deactivate users' interactions when meteor is disconnected and reactivate when it's reconnected. Therefore, the call back function after calling "connect" is only useful if I connect to meteor manually, but I need to handle the auto-reconnect as well.
Is there a way to listen to onConnect and onDisconnect?
from swiftddp.
No.
Consider what happens when you use Meteor in the browser. You, as the developer, do not control the connection. It happens automatically in the background. You control access to the app in other ways, via authentication, authorization, subscriptions etc. SwiftDDP mimics this approach, with one exception, which is that you have to manually initiate the initial connection.
from swiftddp.
Closing this... please reopen or open a new issue of this isn't clear.
from swiftddp.
Related Issues (20)
- Keep sending request to server HOT 3
- subscribe observer
- Duplication HOT 1
- outdated CryptoSwift dependency HOT 4
- How to get info user?
- make custom id
- Swift 4 errors HOT 7
- Not able to compile on xcode9.4 with swift 4.1 HOT 1
- [Question] How can I use SwiftDDP in a command line tool? HOT 1
- Cocoapods version of the podspec file IS NOT up to date with the current version on GitHub HOT 2
- Unsupported version requirements in SwiftDDP.podspec HOT 4
- Xcode10/swift4 support HOT 1
- Unencrypted connection (ws://) throws 'SSLHandshake failed' HOT 1
- Unable to build after adding pod for Swift DDP in podfile for Xcode 10.1 and Swift 4.2.
- login meteor server with native facebook sdk in iOS ? HOT 1
- Doesn't build with new xcode HOT 2
- How to receive subscription with message and error log
- Expired Meteor login tokens are not being handled correctly HOT 1
- Ambiguous us of 'init(callback:)' HOT 4
- how To Access Direct Local database. without Creating Collections
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swiftddp.