nlc Le mieux est l'ennemi du bien | Bonjour à tous J'ai un boîtier électronique (avec un linux embarqué) qui implémente un serveur WEB, et est connecté à internet par GPRS.
Je veux pouvoir accéder au boîtier depuis n'importe où, donc il faudrait que le boîtier soit connecté au net avec une IP publique.
Problème, les opérateurs téléphoniques GPRS fournissent une IP privée, on se retrouve derrière leur NAT et donc il est impossible de faire une connexion entrante vers le boîtier.
Il y a la possibilité d'avoir une IP publique mais c'est la croix et la bannière, et l'abonnement est hors de prix.
Pour palier au problème, j'ai une idée qui ne devrait pas être trop difficile à implémenter, mais si ça se trouve ça existe déjà, donc peut être que ça m'éviterait de réinventer la roue ?
Il suffirait que sur le boîtier j'ai un petit programme démon qui se connecte en tant que client sur un serveur quelque part sur internet, de manière à créer un tunnel. Le démon aurait juste à rediriger les flux entrants/sortants de ce tunnel vers/depuis le port 80 local.
Et du côté du serveur, il y aurait un autre démon qui écoute les connexions entrantes sur le port 80, et redirigait les requêtes vers la socket du tunnel.
Techniquement c'est faisable, et coder ça ne me fait pas peur. Mais peut être qu'il existe déjà quelque chose pour faire ça !? Message édité par nlc le 02-07-2009 à 15:01:03 ---------------
char table[] = {112,114,105,110,116,102,40,34,37,99,37,99,37,99,34,44,49,49,48,44,49,48,56,44,57,57,41,59,0}; char* tablePtr = table; while(*tablePtr) printf( "%c",*tablePtr++ );
|