démarrer application avant l'éxécution d'un script

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
corf
Messages : 20
Inscription : 01 Mars 2017 23:38

démarrer application avant l'éxécution d'un script

Message par corf » 29 Mars 2017 11:48

Bonjour,
j'ai un problème, je dois récupérer une trame qui est émise en broadcast sur mon application lorsque je clique sur un bouton.
sauf que je la récupère au lancement de l'appli et non et click.
le problème est que si le broadcast n'est pas lancé , l'appli ne se lance pas....

help svp

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

Re: démarrer application avant l'éxécution d'un script

Message par boubouk50 » 29 Mars 2017 12:00

Comment la récupères-tu? Ne peux-tu pas lever une exception en cas de non-chargement?

Merci de donner toutes les infos, là c'est extrêmement vague comme comportement...
"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

corf
Messages : 20
Inscription : 01 Mars 2017 23:38

Re: démarrer application avant l'éxécution d'un script

Message par corf » 29 Mars 2017 12:46

code:

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using UnityEngine.UI;
using System.Threading;




  public class Connec2 : MonoBehaviour {

    public Text AdrIp;
    public string adresseIP;
    //public string ip;
    public string NoIP = "Aucun Robot NAO detecte";
    public GameObject button;

       public void Main()
     {  
        button = GameObject.Find("Valider");
        button.SetActive(false);
        


          Socket sock = new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp);
          IPEndPoint iep = new IPEndPoint(IPAddress.Any, 5550);
          sock.Bind(iep);
          EndPoint ep = (EndPoint)iep;
       // while(K != 1)
        //{

          Debug.Log("Ready to receive...");

          byte[] data = new byte[1024];
          int recv = sock.ReceiveFrom(data, ref ep);
          string stringData = Encoding.ASCII.GetString(data, 0, recv);
          Debug.Log("received: "+stringData + "from: "+ ep.ToString());

          data = new byte[1024];
          recv = sock.ReceiveFrom(data, ref ep);
          stringData = Encoding.ASCII.GetString(data, 0, recv);
          Debug.Log("received: "+stringData + "from: "+ ep.ToString());

          //trame normalement recu = {"IP": "172.20.140.19", "Type": "RobotNAO"}
          
          string searchWithinThis = stringData;
          string searchForThis = "RobotNAO";
          int firstCharacter = searchWithinThis.IndexOf(searchForThis);

          Debug.Log("First occurrence: "+firstCharacter);



          string adresse = stringData.Substring(firstCharacter, 8);
          

          if(adresse==searchForThis)
          {
            
            string ip = stringData.Substring(8, 13);
            adresseIP= adresse + "  "+ip;               
          }
          else
            adresseIP= "Aucun Robot NAO detecte";

          AfficheIP();
            
      sock.Close();
     }

     public void AfficheIP()
     {

        AdrIp.text = adresseIP;

        Debug.Log(adresseIP);

        if(adresseIP != NoIP)
        {
          button.SetActive(true);
        }
     }
  }

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

Re: démarrer application avant l'éxécution d'un script

Message par boubouk50 » 29 Mars 2017 13:27

Je pige rien à ce que tu veux... :?
"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

corf
Messages : 20
Inscription : 01 Mars 2017 23:38

Re: démarrer application avant l'éxécution d'un script

Message par corf » 30 Mars 2017 16:28

Lorsque je click sur le bouton play pou lancer l'appli, il ne se passe rien tant que le broadcast n'est pas activé donc tant que je ne recois rien l'appli ne se lance pas alors que j ai associé le script à un bouton .
Lescript s execute au lancement de l appli et non au click

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

Re: démarrer application avant l'éxécution d'un script

Message par boubouk50 » 30 Mars 2017 16:50

Les fonctions ne se lancent pas toutes seules. Il faut qu'elles soient appelées quelque part. Tu dois avoir un script qui au Start () ou à l'Awake () lance la fonction Main (). Trouve les appels à cette fonction et enlève-les. Ne le laisse que sur le OnClick () du bouton.
"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

corf
Messages : 20
Inscription : 01 Mars 2017 23:38

Re: démarrer application avant l'éxécution d'un script

Message par corf » 05 Avr 2017 17:01

J'ai associé ce script à mon bouton SCAN , il est nul part ailleurs.
Je ne comprend pas...

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

Re: démarrer application avant l'éxécution d'un script

Message par boubouk50 » 05 Avr 2017 17:30

Si seul ton bouton lance ton script et l'application bloque lors du lancement, c'est qu'il y a un lien entre le script et le démarrage.
Au fait, tu compiles pour quelle plateforme? Ça pourrait jouer.
Tu n'as aucun message d'erreur? As-tu une boucle, une fonction, un événement qui attend une variable de ton script?
"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

corf
Messages : 20
Inscription : 01 Mars 2017 23:38

Re: démarrer application avant l'éxécution d'un script

Message par corf » 06 Avr 2017 13:17

Non je n'ai pas d'erreur, aucune boucle, j'ai juste ma méthode qui appelle une autre méthode pour l'affichage.
Comment ça quelle plateforme ?

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

Re: démarrer application avant l'éxécution d'un script

Message par boubouk50 » 06 Avr 2017 13:22

Mobile: Android/iOS
Standalone: Win/Linux/Mac
WebGL
"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

Répondre

Revenir vers « (C#) CSharp »