Utiliser UnityWebRequest.Post pour envoyer des données au serveur : Unity

pictureProfil_alto
Ecrit par alto
Catégorie Unity
Mis à jour le 09/09/2020
Utiliser UnityWebRequest.Post pour envoyer des données au serveur

Depuis le dernier tutoriel sur UnityWebRequest, nous savons comment récupérer des informations depuis un serveur web, mais pas l'inverse ... Nous verrons ici comment envoyer des informations vers un serveur web avec la méthode Post de UnityWebRequest.

3 min Intermédiaire

Avant toute chose il est important d'avoir les bases sur l'utilisation de UnityWebRequest. Aussi n'hésitez pas à faire un détour vers les tutoriels dédiés à la classe WWW, ou la réception de datas avec UniyWebRequest depuis un serveur web.

Méthode Post de la classe UnityWebRequest

Cette méthode nous permet, non seulement de contacter un URI, mais aussi d'ajouter au passage des données (datas), en utilisant un objet de type WWWForm.

D'après la documentation de UnityWebRequest.Post de Unity, cette méthode permet de créer une requête de type POST:

Creates a UnityWebRequest configured to send form data to a server via HTTP POST.

Les données envoyées doivent être placées dans un objet de type WWWFom, puis l'objet est passé en paramètre à la méthode Post.

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class MyBehavior : MonoBehaviour
{
    void Start()
    {
        StartCoroutine(Upload());
    }

    IEnumerator Upload()
    {
        WWWForm form = new WWWForm();
        form.AddField("myField", "myData");//une donnée est ajoutée ici

        using (UnityWebRequest www = UnityWebRequest.Post("http://www.my-server.com/myform", form))
        {
            yield return www.SendWebRequest();// on attend le retour (réponse) du serveur web !

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("Form upload complete!");
            }
        }
    }
}

Ainsi les données sont envoyées, ici au serveur web et à l'URI: 

"http://www.my-server.com/myform"

Le reste du travail concerne après le serveur, ou plus exactement les scripts PHP du serveur. Cet aspect ne sera pas traité ici.

A ce sujet vous pouvez retrouver un tutoriel sur l'utilisation du JSON pour envoyer des réponses serveur.

Une fois que le serveur a renvoyé sa réponse, côté C#, on peut ainsi traiter le retour, et pourquoi pas débloquer des fonctionnalités dans notre jeu vidéo. C'est ce que nous allons voir dans notre exemple d'utilisation qui suit.

Exemple d'utilisation en vidéo

Retrouvez le package pour suivre le tutoriel.

Vues: 1447

Licence:



Vous aimerez aussi...

Blog et Tutoriels

Utiliser une texture Blender dans Unity

Utiliser une texture Blender dans Unity

par alto

Une fois votre modèle crée et texturé dans Blender, il est temps de l'intégrer dans Unity...Mais savez vous gérer les textures ? Dans ce tutoriel on vous propose d'utiliser une texture Blender dans Unity.

applause logo0
Créer les colliders directement dans Blender 3D.

Créer les colliders directement dans Blender 3D.

par GuiRig

Pourquoi créer un collider dans Blender 3D plutôt que Unity ?

 

Le modeleur 3D unity reste très très limité. On ne pourra créer que des formes primitives ( cube, sphère etc )

Et puisque nous modélisons nos mesh dans Blender, autant en profiter pour superposer nos colliders. Cela s'appelle des meshColliders. Rapide et efficace :-)

 

applause logo0