| Versions |
 |
|
| Author |
Topic  |
|
|
kymahri
2 Posts |
Posted - 09 août 2010 : 09:50:47
|
Bonjour à tous.
Je suis actuellement en train de développer une application en eVB, pour des GPS Trimble Juno SC, elle a a 99% fini, il ne me reste plus qu'une seul chose à mettre en place, un export vers un serveur web.
Voila mon souci, mon application crée des fichier .txt régulièrement et je doit les envoyer sur un serveur web pour qu'elles soient centralisées. Le GPS dispose évidement d'une connexion 3G et d'un abonnement chez Orange.
Mais voila impossible de réaliser la connexion, tant que je suis connecté par ActiveSync aucun souci l'envoi ce fait sans problème, mais dès que je me déconnecte du pc impossible de mettre en place la connexion.
Pour effectuer ma connexion j'utilise un control Winsock
Voici un bout de mon code :
Call wFile.Open("\My Documents\pile_txt\fichier_export.txt", fsModeInput, fsAccessRead, fsLockReadWrite)
'j'ouvre le fichier text a transferer ouvert en mode lecture
While Not wFile.EOF
wLigne = wLigne & vbCrlf & wFile.LineInputString
'je stocke tout ce qui est écrit dedans dans une variable
Wend
Call wFile.Close
DestUrl = "monserveur.fr"
WinSock1.RemoteHost = DestUrl
WinSock1.RemotePort = 80
'je me connecte au serveur
Call WinSock1.Connect
filename = ("fichier_export.txt")
'je met le nom de fichier a transferer
strBoundary = RandomAlphaNumString(32)
'je fait appel a une fonction pour créer une chaine de caractère aléatoire
strBody = "--" & strBoundary & vbCrlf
'je crée ma requete
strBody = strBody & "Content-Disposition: form-data;
name=""" & "uploaded" & """; filename=""" & filename & """" & vbCrlf
strBody = strBody & "Content-Type: text/plain" & vbCrlf
strBody = strBody & wLigne & vbCrlf
strBody = strBody & vbCrlf & "--" & strBoundary & "--"
wTaille = Len(strBody)
strhttp = "POST /uploader.php? HTTP/1.0" & vbCrlf
strhttp = strhttp & "Host: " & DestUrl & vbCrlf
strhttp = strhttp & "Content-Type: multipart/form-data, boundary=" & strBoundary & vbCrlf
strhttp = strhttp & "Content-Length: " & wTaille & vbCrlf & vbCrlf
strhttp = strhttp & strBody
WinSock1.SendData strhttp
'j'envoi ma requete
Si vous avez des idées sur ce qui cloche...
Merci d'avance
note admin (jlb) J'ai modifié le texte car les lignes étaient trop longues |
|
|
Ads
|
|
|
barbudor
France
1579 Posts |
Posted - 13 août 2010 : 21:15:05
|
Si je comprend bien ton code marche en active sync mais pas en 3G. J'aurais donc tendance à soupçonner non pas ton code mais des restrictions sur ta liaison 3G.
Tu passes pas le port 80 et tu utilise un requête POST qui me semble correcte. A savoir que généralement, (mais ça dépend de ton type d'abonnements) les connexions 3G de mobiles passent par un proxy forcé et non pas une connexion directe (même si tu n'as pas configuré de proxy, l'opérateur filtre les requêtes). Ce n'est pas le cas sur des abonnements 3G pur data. Donc si ta requête n'est pas parfaite, ou ne plait pas au proxy, il ne vas pas la transmettre. çà pourrait être a cause du fichier join par exemple. Orange pourrait refuser des upload POST via 3G. Par ActiveSync le PC sert juste de routeur donc tu obtient une vrai connexion socket (même si ton PC a un proxy de réglé car ce réglage n'influe que sur les logiciels PC). Dans ce cas même si ta requête POST est que vaguement correcte mais qu'elle plait à ton
Petit test simple : as tu essayé depuis le navigateur de ton mobile une requête de type POST. Avec un simple formulaire ? Avec un transfert de fichier ? Cela devrait te permettre d'isoler si le problème vient de ton accès réseau 3G ou de ton code. Par exemple essaye d'uploader un fichier texte a partir du navigateur de ton mobile vers dl.free.fr.
Quel est ton type d'abonnement ?
A+
|
Modérateur Forum Traceurs GPS et Suivi GPS Temps Réel, son Index (français) et Les bons plan SIM pour traceurs GPS Moderator Forum Live GPS Tracking Systems and its Index (english) CartoExploreur3D | OziPC+OziCE(iPaq314) | TTGoLive950 | Carminat TomTom Live | Tracker Coban GPS-102 |
 |
|
|
kymahri
2 Posts |
Posted - 15 août 2010 : 20:05:28
|
Merci de ta réponse.
Pour répondre à tes interrogations, mon problème ne se situe pas vraiment au niveau de l'envoie, mais plutôt de la connexion qui ne se fait pas. Donc d'après ce que tu me dit j'aurai tendance a privilégier un soucis sur les proxi. C'est vraiment a ce niveau là que le problème ce trouve, en effet si je force mon GPS a ce connecter à internet (en lançant internet explorer par exemple) après plus de souci ma connexion et mon envoi se font sans problèmes.
Donc j'ai plus ou moins réglé mon problème en bidouillant, avec la dll coredll je force mon programme a lancer internet explorer, il est donc obligé de ce connecter, une fois la connexion en place j'envoie la requête. C'est vraiment du bricolage mais ça a au moins le mérite de fonctionner. |
Edited by - kymahri on 15 août 2010 20:06:22 |
 |
|
|
barbudor
France
1579 Posts |
|
| |
Topic  |
|
|
|
| This page was generated in 0,8 seconds. |
 |
|