Cours:QtTCP : Différence entre versions
(→Mise en place du serveur) |
|||
| Ligne 8 : | Ligne 8 : | ||
=Partie Serveur= | =Partie Serveur= | ||
| + | |||
| + | Une carte raspberryPi sera utilisée comme serveur. | ||
| + | |||
| + | Vous aurez besoin de l'adresse (notée @ par la suite) ip de votre carte, pour ce faire vous pouvez dans une console lancer la commande : | ||
| + | <source lang=bash | ||
| + | ping ras-pi-xx | ||
| + | </source> | ||
==Mise en place du serveur== | ==Mise en place du serveur== | ||
| Ligne 36 : | Ligne 43 : | ||
</source> | </source> | ||
| − | {{Question|En utilisant la méthode listen, dont voici un exemple d'utilisation, faîtes écouter votre serveur sur l'@ ip de votre carte | + | {{Question|En utilisant la méthode listen, dont voici un exemple d'utilisation, faîtes écouter votre serveur sur l'@ ip de votre carte sur le port de votre choix (>1000). |
| + | |||
| + | <source lang=cpp> | ||
| + | monServeur.listen(QHostAddress("192.168.0.1"),monNumeroDePort); | ||
| + | </source> | ||
| + | |||
| + | {{Question|afficher un message indiquant la réussite ou l'échec du démarrage du serveur.}} | ||
| + | |||
| + | |||
| + | |||
| + | ==connexion d'un client== | ||
| + | |||
| + | Lorsqu'un client se connecte sur votre serveur, celui-ci émet un signal {{Rouge|newConnection}}. | ||
| + | |||
| + | {{Question|Connectez vous sur ce signal pour afficher un message d'information à chaque nouvelle connexion}} | ||
| + | |||
| + | |||
| + | ==Améliorations== | ||
| + | |||
| + | ===Choix du port=== | ||
| + | {{Todo|Lancer 2 instances de votre programme et constater qu'il n'y en a qu'un seul qui peut créer une connexion}} | ||
| + | |||
=Partie Client= | =Partie Client= | ||
Version du 21 novembre 2019 à 10:52
Sommaire
Configuration du projet
Attention, il est nécessaire de rajouter les librairies pour faire du réseau dans le projet :
// ajouter dans le fichier .pro
QT += network
Partie Serveur
Une carte raspberryPi sera utilisée comme serveur.
Vous aurez besoin de l'adresse (notée @ par la suite) ip de votre carte, pour ce faire vous pouvez dans une console lancer la commande :
==Mise en place du serveur==
On ajoute un attribut nommé {{Rouge|serveur}} de type QTcpServer à notre application, donc dans le fichier MainWindow.h, et on passe les paramètres au constructeur de la classe QTcpServer dans le fichier QTcpServer.
<source lang=cpp>
// mainwindow.h
...
#include <QTcpServer>
...
private :
QTcpServer serveur;
...
//mainwindow.cpp
...
MainWindow::MainWindow(QWidget *parent)
:QMainWindow(parent),
ui(new Ui::MainWindow),
serveur(this)
{
ui->setupUi(this);
}
...
{{Question|En utilisant la méthode listen, dont voici un exemple d'utilisation, faîtes écouter votre serveur sur l'@ ip de votre carte sur le port de votre choix (>1000).
monServeur.listen(QHostAddress("192.168.0.1"),monNumeroDePort);
afficher un message indiquant la réussite ou l'échec du démarrage du serveur.
connexion d'un client
Lorsqu'un client se connecte sur votre serveur, celui-ci émet un signal newConnection.
Connectez vous sur ce signal pour afficher un message d'information à chaque nouvelle connexion
Améliorations
Choix du port
Lancer 2 instances de votre programme et constater qu'il n'y en a qu'un seul qui peut créer une connexion