Projet FTP et android

Toutes les questions sur le développement Mobile, y compris la partie script.
Pascal_Mord
Messages : 3
Inscription : 17 Juin 2019 15:59

Projet FTP et android

Message par Pascal_Mord » 17 Juin 2019 16:09

Salut à tous, j'ai un projet android / arduino sur lequel je bosse depuis plusieurs semaines.
La partie android envoie un fichier très court sur mon serveur ftp. La partie arduino récupere ce fichier.
L'appli android fonctionne très bien, j'i eu plus de mal avec le programme arduino.
Là ou ca se gâte, c'est lorsque je compile mon programme Unity en APK, ca ne fonctionne plus, pas de message d'erreur mais le fichier ne part pas alors que sous Windows c'est ok.
J'ai d'abord pensé à un probleme de permission mais apparemment, les permissions network et storage sont déja activées.

Voici le source

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
using System.IO;
using System.Net;
using UnityEditor;
using System.Text;


public class GetAndSetText : MonoBehaviour
{
    public InputField message;
    public Text fText;

    void Start()
    {
        
    }

    public void SendText()
    {
        // Get the object used to communicate with the server.
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://xxxxxxxxx.net/message.txt");
        request.Method = WebRequestMethods.Ftp.UploadFile;
        // This example assumes the FTP site uses anonymous logon.
        request.Credentials = new NetworkCredential("monId", "Monpass");
        // Copy the contents of the file to the request stream.
        byte[] fileContents;
        using (StreamReader sourceStream = new StreamReader("message.txt"))
        {
            fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
        }

        request.ContentLength = fileContents.Length;

        using (Stream requestStream = request.GetRequestStream())
        {
            requestStream.Write(fileContents, 0, fileContents.Length);
        }

        using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
        {
            //Console.WriteLine($"Upload File Complete, status {response.StatusDescription}");
        }
    }

    public void setGet()
    {
        string path = Application.persistentDataPath;
        System.IO.File.WriteAllText(path+"/message.txt", message.text);
        System.Threading.Thread.Sleep(1000);
        SendText();
        string msg = "Message envoyé:" ;
        fText.text = msg;
    }
   
}

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6216
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Projet FTP et android

Message par boubouk50 » 17 Juin 2019 16:24

Attention: Windows != Android
Ce n'est pas parce que ça marche sous Windows que ça marchera sous Android (même de l'Android émulé sous Windows). Android est bien moins permissif et nécessite des autorisations pour avoir accès à certaines choses (notamment l'écriture de données).
Regarde bien si tu as les droits d'écriture de ton fichier (Attention, demander la permission dans l'AndroidManifest ne veut pas dire que tu as le droit), aussi pour l'accès à Internet. Également, renseigne-toi si les requêtes Web fonctionnent de la manière.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Pascal_Mord
Messages : 3
Inscription : 17 Juin 2019 15:59

Re: Projet FTP et android

Message par Pascal_Mord » 17 Juin 2019 19:28

merci pour la réponse, ça doit être une histoire de permission alors. J'ai beaucoup travaillé avec Corona, j'ai jamais eu ce genre de problème.Il suffit de mettre les permissions dans le manifest et le tour est joué.
Concrètement, je dois faire quoi alors ?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6216
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Projet FTP et android

Message par boubouk50 » 18 Juin 2019 09:07

Ça je ne sais pas exactement, je n'ai jamais eu à faire ce genre de chose.
Par contre, ce que je sais: même avec tous les droits, tu n'as pas accès en écriture partout sur un mobile (interne ou externe)
un exemple: https://answers.unity.com/questions/317 ... apath.html
Pour avoir les permissions, tu peux le faire directement dans les Projects Settings pour les principales, sinon en éditant le fichier AndroidManifest.xml dans le dossier .../Plugins/Android/
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Pascal_Mord
Messages : 3
Inscription : 17 Juin 2019 15:59

Re: Projet FTP et android

Message par Pascal_Mord » 19 Juin 2019 18:10

Bon, je vais pas me casser la tête plus longtemps, un script php et un bout d'html me fait la même chose en 15 lignes de code. Merci des renseignements quand même.

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »