Page 2 sur 2
Re: transformer un programme sur serveur
Publié : dim. 26/févr./2017 18:15
par falsam
De plus si je veux installer cela sur mon ordinateur et en faire un serveur global... ou est mon adresse i.p. visible de l'extérieur.
Si tu fais une recherche sur le net depuis ces quelques mots "affiche monip" tu auras différentes solutions.
Une méthode élégantes et celle que fournit PureBasic avec ce code d'Ars-s
Code : Tout sélectionner
InitNetwork()
*Buffer = ReceiveHTTPMemory("http://monip.outils-rezo.info/text")
If *Buffer
Debug PeekS(*Buffer, MemorySize(*Buffer), #PB_UTF8)
FreeMemory(*Buffer)
EndIf
Une autre méthode élégante est l'utilisation de l'API
http://ipify.org
La page consacrée à cet API donne un exemple de code avec PureBasic que l'on peut voir sur cette page
https://www.ipify.org/ Code : Tout sélectionner
InitNetwork()
*Buffer = ReceiveHTTPMemory("https://api.ipify.org?format=json")
If *Buffer
ParseJSON(0, PeekS(*Buffer, MemorySize(*Buffer), #PB_UTF8))
FreeMemory(*Buffer)
Debug GetJSONString(GetJSONMember(JSONValue(0), "ip"))
EndIf
Installer le serveur chez toi est une bonne idée. C'est d'ailleurs ce que je fais avec ce test.
- L’exécutable est installé sur un PC (Adresse IP local 192.168.0.3 par exemple)
- Comme tu as pu le voir le port 6833 sert de canal de communication.
- Se port sera aussi défini dans l'application du client.
- Les demandes arrive sur ton routeur via le port 6833
- Tu vas devoir paramétrer ta Box (ou routeur) pour que toutes les communications arrivant sur le port 6833 soient redirigées vers l'ordinateur ayant comme adresse IP 192.168.0.3
Re: transformer un programme sur serveur
Publié : dim. 26/févr./2017 23:28
par YvesRossignol
J'ai trois sites web. Yrtechnosoft.com, elementsfinis.com et finitelement.com (les deux derniers maintenant en dormance mais je vais les réactiver)...
J'ai trouver l'adresse ip de mon router de mon isp... et celui de ma machine sur le router à moi (linksys) connecté à celui de l'isp.
Est-ce prudent de mettre mes adresses ip ici...
aller
router videotron : 18X.163.14X.123 et 192.168.1.140 protégé par WPA2... comment faire pour passer à travers ça... je me suis inscrit sur no-ip.com et j'essai par là.
Merci de votre aide. A ma prochaine visite en France, j'y vais rarement mais j'adore le pays. Je vous paye un pot!!!! (ou deux, trois...)
Yves

Re: transformer un programme sur serveur
Publié : dim. 26/févr./2017 23:29
par YvesRossignol
J'ai aussi pare-feu, anti-virus, etc...
Yves
Re: transformer un programme sur serveur
Publié : dim. 26/févr./2017 23:30
par YvesRossignol
je regarde la config de mon routeur
Yves
Re: transformer un programme sur serveur
Publié : dim. 26/févr./2017 23:53
par falsam
je me suis inscrit sur no-ip.com et j'essai par là.
Te fatigues pas à t'inscrire sur no-ip tant que tu n'as pas paramétré ton routeur pour que ton application client se connecte sur ton serveur.
Ton application client va se connecter et communiquer à ton application serveur à travers ton adresse IP (Chez toi c'est 18X.163.14X.123) et un port de communication. Dans l'exemple client et server, le port est le 6833.
comment faire pour passer à travers ça...
J'ai déja répondu dans mon précédent message mais ayant maintenant un peu plus d'élément sur ta configuration je vais raccourcir mon commentaire.
- L’exécutable de ton serveur est installé sur un PC (Adresse IP local 192.168.1.140)
- Tu vas devoir paramétrer ton routeur Linksys pour que toutes les communications arrivant sur le port 6833 soient redirigées vers l'ordinateur ayant comme adresse IP 192.168.1.140
J'ai aussi pare-feu, anti-virus, etc...
Quand tu exécuteras ton serveur, ton pare feu te demandera de valider la communication vers le port 6833. La case réseau public est par défaut cochée. Répondre oui bien sur.

L'application serveur de test qui t'a permis de faire tes essais est hébergée sur un de mes pc sous windows 10.
A bientôt.
Re: transformer un programme sur serveur
Publié : lun. 27/févr./2017 0:03
par YvesRossignol
Bonsoir messieurs, grace à votre aide très apprécié, j'ai réeussi à suivre vos instructions et ça marche.... le port fowarding à pris 5 minutes à résoudre.
Merci je peux continuer mes modifications suivant les commentaires que vous avez fait sur ce forum.
Yves
Un merci particulier à Falsam. Je ne te connais pas mais tu ne dois pas dormir pour arriver à fournir autant de bon matériel.
Re: transformer un programme sur serveur
Publié : lun. 27/févr./2017 9:44
par falsam
Si tu as besoin de tester ton distributeur de licence, n'hésite pas à poster un code client bidon. On se fera un plaisir d'essayer de faire sauter ton serveur :p
Re: transformer un programme sur serveur
Publié : lun. 27/févr./2017 16:55
par YvesRossignol
J'avoue que je réfléchie fortement à l'idée de simplifié la gestion des licences et mot de passe en enlevant tout l'encryptage de mon code et en utilisant plutôt un serveur de licence pour tous mes clients, que ce soit des licences individuelles ou en entreprise.
A partir du moment que le client â payer, il a une licence a son nom peu importe ou il est...une petite base de données sqlite chez moi... et le tour est joué, mais c'est peut-être pas si simple que ça... je pense qu'il y a de multiples exemples sur les forums.
Yves
Re: transformer un programme sur serveur
Publié : lun. 27/févr./2017 17:16
par Marc56
Un système très contraignant fait perdre des clients et n'est valable que si le programme est indispensable et n'a pas de concurrent.
De plus le client ne l'accepte que s'il est sûr de la pérennité du vendeur.
Si tu es le seul distributeur de ton produit et que tu en vends peu, le système le plus simple et idéal pour le client est de compiler une version pour lui intégrant "en dur" le nom qu'il souhaite voir afficher.
(Ex: Licence attribuée à ... valable pour 20 postes)

Tu affiches ensuite ce nom sur l'écran d'accueil, la boite « À propos de » et en barre-titre ou en barre d'état.

Bien-sur tu ne codes pas ce nom comme une simple chaine dans le code (éviter la modification avec un éditeur hexa)
Tu peux faire un batch qui compile la version personnalisée en prenant l'info nominative du client dans un fichier externe.
