Vous indiquez que vous souhaitez recevoir des messages. Par conséquent, vous avez besoin d'au moins bind_receiver
. Parce que vous ne savez pas quand les messages vont arriver, vous devrez être connecté en permanence, plutôt que de vous déconnecter après chaque événement.
En ce qui concerne votre question sur "pousser ou tirer" cela dépend de la façon dont vous résolvez le premier problème. Si vous pouvez construire une solution qui est constamment connectée, le résultat sera une poussée (le transporteur vous l'enverra dès qu'il recevra le message). Si (pour une raison quelconque) vous ne pouvez pas maintenir une connexion constante, vous finirez par construire un mécanisme de traction. Vous vous connecterez au transporteur X secondes pour voir si un message vous attend.
Je dois souligner 2 pièges si:
- Un certain nombre de transporteurs dans le monde, ne pas stocker ou même d'accepter des messages si vous n'êtes pas connecté, donc, selon le transporteur qui vous interagissez avec, vous pourrait être forcé d'utiliser une connexion continue.
- La plupart des transporteurs ne vous permettent pas d'ouvrir et de fermer les connexions rapidement. Une fois que vous vous déconnectez, vous ne pouvez pas vous reconnecter pendant une période de X secondes.
Par conséquent, une connexion constante est vraiment la voie à suivre. Alternativement, vous pouvez regarder dans une entreprise comme Nexmo, qui vous fournira un appel HTTP chaque fois qu'un message arrive. Je ne sais pas dans quelle langue vous développez votre application, mais si vous utilisez l'un des langages populaires (Java, PHP, Perl), il existe des modules qui gèrent la connectivité SMPP de base pour vous. Une recherche rapide sur google pour votre langue et "SMPP Client" vous donnera une liste de références.
Pour plus d'informations sur la façon dont fonctionne Esme avec SMSC et le fonctionnement se lier et délier, vous pouvez vérifier ici http://blog.ektel.com .np/2012/01/sms-messages-entre-esme-serveur-et-smsc-server/ J'espère que ça aide –