Communication réseau pour groupes d’utilisateurs

69
1 Communication réseau pour groupes d’utilisateurs • DataSocket • TCP/IP

description

Communication réseau pour groupes d’utilisateurs. DataSocket TCP/IP. DataSocket. Qu’est ce que datasocket? Comment utiliser DataSocket Manager pour gérer des connexions client Comment utiliser DataSocket en face avant pour lire et ecrire directement des données par datasocket - PowerPoint PPT Presentation

Transcript of Communication réseau pour groupes d’utilisateurs

Page 1: Communication réseau pour groupes d’utilisateurs

1

Communication réseau pour groupes d’utilisateurs

• DataSocket

• TCP/IP

Page 2: Communication réseau pour groupes d’utilisateurs

2

A. Qu’est ce que datasocket?

B. Comment utiliser DataSocket Manager pour gérer des connexions client

C. Comment utiliser DataSocket en face avant pour lire et ecrire directement des données par datasocket

D. Comment utiliser des vis Datasocket pour lire et ecrire des donnees de sources multiples, comme des fichiers et dans des serveirs OPC

DataSocket

Page 3: Communication réseau pour groupes d’utilisateurs

3

Composants DataSocket

Serveur DataSocket :• Agit comme un serveur Web et écoute continuement des erquetes clients sur le port

3015. Le serveur DataSocket restereint l’acces aux données par administration de securite et de droits administrateurs

DataSocket Publisher: (Writer)• L’application de publication utilise les Vis Datasocket pour écrire des données sur le

serveur datasocket. La publictaion DataSocket transmet les donnédes au réseau au travers du serveur datasocket

Data Socket Subscribers: (Reader)• L’application Souscripteur utilise les VI’s DataSocket VIs pour lire les données publiées

sur le serveur DataSocket.

Data Item:• It is a unique name in DataSocket URL where you read or write data from.

Page 4: Communication réseau pour groupes d’utilisateurs

4

Qu’est ce que le DataSocket ?DataSocket est une technologie de programmation qui permet d’échanger des données entre différentes applictaions sur un ordinateur ou entre ordinateurs sur le réseau

C’est un protocole indépendant, un langage indépendant, et une OS independent API.

Consists of - The DataSocket API - The DataSocket Server.

Page 5: Communication réseau pour groupes d’utilisateurs

5

• Subscriber• Publisher/Server

InternetInternet

Utiliser un serveur DataSocket sur une meme Machine

The DataSocket Server, publisher and subscriber can run on the same computer but most often they

will run on different machines.

Page 6: Communication réseau pour groupes d’utilisateurs

6

• publisher • Subscriber• Server

FirewallFirewall

Running the DataSocket Server on a Remote Computer

The ability to run DataSocket Server on

another machine not only improves

performance but also provides security

by isolating the machine that is running

the measurement application.

Page 7: Communication réseau pour groupes d’utilisateurs

7

Exemple d’utilisation

Page 8: Communication réseau pour groupes d’utilisateurs

8

Autre exemple du datasocket :partage réseau de données

Page 9: Communication réseau pour groupes d’utilisateurs

9

Datasocket manuel

Création manuel de partage de données datasocket en face avant

Page 10: Communication réseau pour groupes d’utilisateurs

10

dstp://dsmachine.com/wave

Machine name Data item nameprotocoldstp://127.0.0.1/wave

IP Address Data item nameprotocol

DataSocket Transfer Protocol

Data Socket Transfer protocol (DSTP) can be used in a URL in the same way as you use the “http” for the web pages

Page 11: Communication réseau pour groupes d’utilisateurs

11

Data Socket Read

–Reads the data from specified URL

Data Socket Write

–Writes the data to specified URL

DataSocket Palette

Page 12: Communication réseau pour groupes d’utilisateurs

12

– URL• Specifies where the data is

written.

– Data• Data written to the data

socket.• This terminal is

polymorphic and any data type can be connected.

DataSocket Write

Page 13: Communication réseau pour groupes d’utilisateurs

13

• URL– Specifies the data source

to read.

• Type (Variant)– Specifies the type of the

data to be read.

– Defines the type of the data output terminal.

• timeout– Specifies how long to wait

for a value update.

• Data– This is the result of the

read.

DataSocket Read

Page 14: Communication réseau pour groupes d’utilisateurs

14

• Publisher / Server Subscriber

InternetInternet

DataSocket Publisher and SubscriberThe Publisher continuously writes data to the DataSocket sever and the Subscriber reads the data continuously.

Page 15: Communication réseau pour groupes d’utilisateurs

15

Approximate Time to Complete: 45 min.

Exercice: DataSocketLabVIEW Messenger

Page 16: Communication réseau pour groupes d’utilisateurs

16

Exercice: DataSocketLabVIEW Messenger

Algorithme :1ere etape : lire les donnees du PCclient 2eme etape :

si envoi de donnees coche alors :2.1 envoi des donnees et rafraichissement de fenetre de messages2.2 sinon ne rien faire

Page 17: Communication réseau pour groupes d’utilisateurs

17

Solution Client A : face avant

Solution Client B : face avant

Page 18: Communication réseau pour groupes d’utilisateurs

18

Solution client B : face avant

Page 19: Communication réseau pour groupes d’utilisateurs

19

Solution client A : face arriere (1)

Page 20: Communication réseau pour groupes d’utilisateurs

20

Solution client A : face arriere (2)

Page 21: Communication réseau pour groupes d’utilisateurs

21

Solution client A : face arriere (3)

Page 22: Communication réseau pour groupes d’utilisateurs

22

Solution Client A : face arriere (4)

Page 23: Communication réseau pour groupes d’utilisateurs

23

Solution Client A : face arriere (5)

Page 24: Communication réseau pour groupes d’utilisateurs

24

Page 25: Communication réseau pour groupes d’utilisateurs

25

Network Communication Review

Protocol Speed Loss? Ease

TCP Fast Lossless More Difficult

UDP Very Fast Lossy Moderate

DataSocket Fast Lossy* Easy

VI Server Slow Lossless** Moderate

*Data can be overwritten if items are not read from the DataSocket Server before the next write.

**Not for large data transfers. Mostly used for monitoring, or controlling one shot runs of remote VIs. VI Server is primarily

suited for remote control of VIs.

Page 26: Communication réseau pour groupes d’utilisateurs

26

TCP/IP

• historique et environnement TCP/IP

• À propos des vis TCP/IP et des Fonctions

• Programmer TCP/IP en LabVIEW

Page 27: Communication réseau pour groupes d’utilisateurs

27

Introduction and History of TCP/IP• Transmission Control Protocol/Internet Protocol.

• 1960s—Developed by DOD to communicate between different manufacturer’s computers.

• 1970s—ARPA has a network that linked major research universities.

• UC Berkeley incorporated TCP/IP into UNIX.

• TCP/IP becomes widely accepted and universities distribute TCP/IP applications for free.

• TCP/IP is the communications protocol supported on all LabVIEW platforms.

Page 28: Communication réseau pour groupes d’utilisateurs

28

Protocol Layers

Layer Protocol

Application, Presentation,Session

SMTP (Simple Mail Transfer Protocol)FTP (File Transfer Protocol)Telnet

Transport

Network

Datalink (HW)

TCP

IP, ARP (Address Resolution Protocol)

Ethernet

Page 29: Communication réseau pour groupes d’utilisateurs

29

Addressing Schemes

• TCP/IP uses multiple layers of addressing, each layer having it’s own addressing scheme

• Hardware address used to identify hosts connected to a network. Different types of networks may have mutually incompatible addressing schemes

• IP address does the same, while being independent of underlying hardware

• TCP Port Number identifies the application on the machine

• Applications might have their own addressing scheme (e.g., your email id)

Page 30: Communication réseau pour groupes d’utilisateurs

30

IP Addresses and Ports

32 – bit address• 10000100 00001101 00000010 00011110• = 132.13.2.30• or hostname resolution (Domain Name

System)Port• Number between 0 and 65535• Specifies a service at the address• Numbers under 1024 are reserved

Page 31: Communication réseau pour groupes d’utilisateurs

31

TCP/IP System Requirements

• Windows and Sun: All the TCP/IP software support is built into the operating system. Need Ethernet hardware connection.

• MacOS: TCP/IP software is built into MacOS. Need

Ethernet hardware connection.

• Linux: All the TCP/IP software support is built into the operating system. Need Ethernet hardware connection.

Page 32: Communication réseau pour groupes d’utilisateurs

32

TCPIP ?

Si vous vous baladez sur Internet, vous avez du, a un moment ou a un autre, entendre parler de TCP/IP. Qu'est-ce que c'est que cette boite ?

Cette page est un peu longue, mais une fois terminée, vous aurez compris ce que sont IP, UDP, TCP et à quoi ils servent.

TCP/IP est un protocole, c'est à dire des règles de communication.

Page 33: Communication réseau pour groupes d’utilisateurs

33

IP ?

IP signifie Internet Protocol : litt�ralement "le protocole d'Internet". C'est le principal protocole utilisés sur Internet. Le protocole IP permet aux ordinateurs reli�s � ces r�seaux de dialoguer entre eux. Faisons un parallèle avec la poste.Quand vous voulez envoyer une lettre par la poste:•vous placez votre lettre dans une enveloppe,•sur le recto vous inscrivez l'adresse du destinataire,•au dos, vous écrivez l'adresse de l'expéditeur (la votre).

Page 34: Communication réseau pour groupes d’utilisateurs

34

IP?

Ce sont des règles utilisées par tout le monde. C'est un protocole.

Page 35: Communication réseau pour groupes d’utilisateurs

35

IP?Sur Internet, c'est à peu près la même chose: chaque message (chaque petit paquet de données) est enveloppé par IP qui y ajoute différentes informations:

l'adresse de l'expéditeur (vôtre adresse IP),

l'adresse IP du destinataire,

différentes données supplémentaires (qui permettent de bien contrôler l'acheminement du message).

Page 36: Communication réseau pour groupes d’utilisateurs

36

IP?L'adresse IP est une adresse unique attribuée à chaque ordinateur sur Internet (c'est-à-dire qu'il n'existe pas sur Internet deux ordinateurs ayant la même adresse IP).De même, l'adresse postale (nom, prénom, rue, numéro, code postal et ville) permet d'identifier de manière unique un destinataire.Tout comme avec l'adresse postale, il faut connaître au préalable l'adresse IP de l'ordinateur avec lequel vous voulez communiquer.L'adresse IP se présente le plus souvent sous forme de 4 nombres (entre 0 et 255) séparés par des points. Par exemple: 204.35.129.3

Page 37: Communication réseau pour groupes d’utilisateurs

37

Routage IP

Pour envoyer votre lettre, vous la postez dans la boîte-aux-lettres la plus proche. Ce courrier est relev, envoyé au centre de tri de votre ville, puis transmis à d'autres centres de tri jusqu'à atteindre le destinataire.

C'est la même chose sur Internet !

Vous disposez le paquet IP sur l'ordinateur le plus proche (celui de votre fournisseur d'accès en général). Le paquet IP va transiter d'ordinateur en ordinateur jusqu'à atteindre le destinataire.

Page 38: Communication réseau pour groupes d’utilisateurs

38

Routage IP

Page 39: Communication réseau pour groupes d’utilisateurs

39

Ports IP

Bien !

Avec IP, nous avons de quoi envoyer et recevoir des paquets de données d'un ordinateur à l'autre.

Imaginons maintenant que nous ayons plusieurs programmes qui fonctionnent en même temps sur le même ordinateur: un navigateur, un logiciel d'email et un logiciel pour écouter la radio sur Internet.

Si l'ordinateur reçoit un paquet IP, comment savoir à quel logiciel donner ce paquet IP ?

Comment savoir � quel logiciel est destin� ce paquet IP ?Le navigateur, le logiciel de radio ou le logiciel d'email ?

Page 40: Communication réseau pour groupes d’utilisateurs

40

Ports IPC'est un problème sérieux !

On pourrait attribuer un numéro unique à chaque logiciel dans l'ordinateur.

Il suffirait alors de mettre ce numéro dans chaque paquet IP pour pouvoir s'adresser à tel ou tel logiciel.

On appelle ces numéros des ports (pensez aux "portes" d'une maison: à une adresse donnée, on va pouvoir déposer les lettres à différentes portes à cette adresse).

Avec la poste, à une même adresse, on peut s'adresserà différentes personnes en indiquant un numéro de porte

Page 41: Communication réseau pour groupes d’utilisateurs

41

Ports IP

De même, à une même adresse IP, on peut s'adresser à différents logicielsen précisant le numéro de port (ici: 3).

Page 42: Communication réseau pour groupes d’utilisateurs

42

UDP"Mais TCP/IP ?". On y vient, on y vient... patience.

UDP/IP est un protocole qui permet justement d'utiliser des numéros de ports en plus des adresses IP (On l'appelle UDP/IP car il fonctionne au dessus d'IP).

IP s'occupe des adresses IP et UDP s'occupe des ports.

Avec le protocole IP on pouvait envoyer des donn�es d'un ordinateur A � un ordinateur B. 

Avec UDP/IP, on peut être plus précis: on envoie des données d'une application x sur l'ordinateur A vers une application y sur l'ordinateur B.

Par exemple, votre navigateur peut envoyer un message à un serveur HTTP (un serveur Web):

Page 43: Communication réseau pour groupes d’utilisateurs

43

UDP

•Chaque couche (UDP et IP) va ajouter ses informations.Les informations de IP vont permettre d'acheminer le paquet à destination du bon ordinateur. Une fois arrivé à l'ordinateur en question, la couche UDP va délivrer le paquet au bon logiciel (ici: au serveur HTTP).•Les deux logiciels se contentent d'émettre et de recevoir des données ("Hello !"). Les couches UDP et IP en dessous s'occupent de tout.

Ce couple (199.7.55.3:1057, 204.66.224.82:80) est appelé un socket. Un socket identifie de façon

unique une communication entre deux logiciels.

Page 44: Communication réseau pour groupes d’utilisateurs

44

TCPBon... on peut maintenant faire communiquer 2 logiciels situés sur des ordinateurs différents.

Mais il y a encore de petits problèmes:

Quand vous envoyez un paquet IP sur Internet, il passe par des dizaines d'ordinateurs. Et il arrive que des paquets IP se perdent ou arrivent en double exemplaire.Ca peut être gènant : imaginez un ordre de débit sur votre compte bancaire arrivant deux fois ou un ordre de crédit perdu !

Même si le paquet arrive à destination, rien ne vous permet de savoir si le paquet est bien arrivé (aucun accusé de réception).

La taille des paquets IP est limitée (environ 1500 octets).Comment faire pour envoyer la photo JPEG du petit dernier qui fait 62000 octets ? (la photo... pas le bébé).

C'est pour cela qu'a été conçu TCP.

Page 45: Communication réseau pour groupes d’utilisateurs

45

TCP

TCP est capable:

de faire tout ce que UDP sait faire (ports).

de vérifier que le destinataire est prêt à recevoir les données.

de découper les gros paquets de données en paquets plus petits pour que IP les accepte

de numéroter les paquets, et à la rception de vérifier qu'ils sont tous bien arriv�s, de

redemander les paquets manquants et de les réassembler avant de les donner aux logiciels. Des

accusés de réception sont envoyés pour prévenir l'expéditeur que les données sont bien arrivées.

Page 46: Communication réseau pour groupes d’utilisateurs

46

TCPPar exemple, pour envoyer le message "Salut, comment ça va ?", voilà ce que fait TCP (Chaque flêche représente 1 paquet IP):

Page 47: Communication réseau pour groupes d’utilisateurs

47

TCPA l'arrivée, sur l'ordinateur 204.66.224.82, la couche TCP reconstitue le message "Salut, comment ça va ?" � partir des 3 paquets IP reçus et le donne au logiciel qui est sur le port 80.

Page 48: Communication réseau pour groupes d’utilisateurs

48

CONCLUSION TCP IPAvec TCP/IP, on peut maintenant communiquer de façon fiable entre logiciels situés sur des ordinateurs différents.

TCP/IP est utilisé pour des tas de choses:

Dans votre navigateur, le protocole HTTP utilise le protocole TCP/IP pour envoyer et recevoir des pages HTML, des images GIF, JPG et toutes sortes d'autres données.

FTP est un protocole qui permet d'envoyer et recevoir des fichiers. Il utilise également TCP/IP.Votre logiciel de courrier électronique utilise les protocoles SMTP et POP3 pour envoyer et recevoir des emails. SMTP et POP3 utilisent eux aussi TCP/IP.Votre navigateur (et d'autres logiciels) utilisent le protocole DNS pour trouver l'adresse IP d'un ordinateur à partir de son nom (par exemple, de trouver 216.32.74.52 à partir de 'www.yahoo.com'). Le protocole DNS utilise UDP/IP et TCP/IP en fonction de ses besoins.Il existe ainsi des centaines de protocoles différents qui utilisent TCP/IP ou UDP/IP.L'avantage de TCP sur UDP est que TCP permet des communications fiables. L'inconvénient est qu'il nécessite une négocation ("Bonjour, pr�t � communiquer ?" etc.), ce qui prend du temps.Si vous êtes curieux et voulez voir tous les paquets IP échangés et leur contenu, vous pouvez utiliser l'excellent logiciel Ethereal ( http://www.ethereal.com ). Ce logiciel gratuit capture et décortique tout ce qui transite par le réseau. C'est très instructif.

Page 49: Communication réseau pour groupes d’utilisateurs

49

TCP et LabviewSET UP du TCP IP : selon config réseau windows : rien a faire

Utilisation du tcp

Il s’agit d’un protocole de transfert de données

Tcp permet des connections simultanées et multiples

Initier une connection :

a) en attendant une connection entrante b) en cherchant une connection avec une adresse specifiée

Il faut specifier une adresse et un port

Si la connection est correcte : la fonction retourne un refnum de connectioni au reseau TCP qui identifie san sambiguité la connection. Il devient alors possible d’utiliser cetter référence de connection à d’autres appels de fonction tcpip

Il est possible d’utiliser les méthodes suivantes pour attendre une connectioni entrante :

a) utiliser le vi « TCP listen » pour créer un écouterur et attendre une connection tcp acceptée à un port spécifique. Si la connection est opérante, le vi retourne un identificateur (id) de connection à l’adresse et au port du tcp distant

b) utiliser le vi « TCP create listener » pour créer un écouteur et utiliser le vi « wait on listener »pour ecouter et accepter de nouvelles connections. Lorsqu’on decide d arreter d’attendre de nouvelles connections, utiliser le vi « TCP close » pour fermer un ecouteur. Il n’est pas possible de lire ou d ecrire vers un ecouteur

L’avantage de la methode b) est qu’elle annule une operation d’ecoute en utilisant le tcp close. Ceci est utile lorsqu’on veut ecouter une connection sans utiliser de timeout mais en voulant annuler l’ecoute si une autre condition est validée. Vous pouvez fermer l’ecoute a tout moment.

Lorsqu’on etablit une connection, il faut utiliser les vi TCP read et TCP write pour lire et ecrire des donnees d’une application distante

Page 50: Communication réseau pour groupes d’utilisateurs

50

TCP et LabviewLe vi TCP close permet de fermer la connection vers une application distante.

A] Exemple de tcp client :

1) utiliser le vi « tcp open connection » pour ouvrir une connection a un serveur. Il faut specifier l adresse internet et le port du serveur

PS : cette adresse identifie un ordinateur sur le reseau. Le port identifie un canal de communictaion sur l’ordinateur que le serveur utilise pour ecouter les requetes de communication. Lorsque vous creez un serveur tcp, vous specifiez le port que vous desirez etre utilise par le serveur de communication

2) utiliser le vi « tcp write function » pour envoyer la commande au serveur 3) utiliser le vi « tcp read function » pour lire les resultats du serveur

vous devez specifier le nombre de caracteres que vous voulez lire

utiliser les methodes suivantes pour gerer les tailles inconnues et differentes des commandes :

a) faire preceder la commande et le resultat avec un « parametre taille », de longueur fixée qui specifie la taille de la commande ou du resultat. Dans ce cas, lire le « parametre taille » et lire le nombre de caracteres specifies par le « parametre taille ». cette methode est la plus flexible.

b) Faire de chaque commande et resultat une taille fixée. Lorsqu une commande est plus petite que cette taille specifiee, vous pouvez la ralolnger a la longueur fixée. Cette option est la plus efficace

c) Terminer chaque commande et chaque resultat par un caractere de terminaison specifique. Dans ce cas, lire les données en petites unites jusqu a ce qu on atteigne le caractere de fin de commande

4) utiliser le TCP close connection pour fermer la connection au serveur

Page 51: Communication réseau pour groupes d’utilisateurs

51

TCP et LabviewB] exemple de TCP serveur

1) utiliser TCP listen pour attendre une connection. Specifier le port. Il doit etre le meme que le port utilise par les clients qui tentent d acceder au serveur.

2) si une connection est etablie, lire le port pour retrouver la commande avec tcp read. Il faut specifier le format de commande comme pour le client.

3)utiliser le tcp write pour retourner des resultats

4) utiliser le tcp close pour fermer la connections

Page 52: Communication réseau pour groupes d’utilisateurs

52

Client Model

Page 53: Communication réseau pour groupes d’utilisateurs

53

Server Model

Page 54: Communication réseau pour groupes d’utilisateurs

54

The TCP/IP FunctionsLocated in - Functions»Communication»TCP

Page 55: Communication réseau pour groupes d’utilisateurs

55

The TCP/IP Functions

• TCP Create Listener

• TCP Wait on Listener

Page 56: Communication réseau pour groupes d’utilisateurs

56

The TCP/IP Functions

TCP Read Function

TCP Write Function

Page 57: Communication réseau pour groupes d’utilisateurs

57

TCP et Labview

Programme tcp Client

Programme d exemples « simple data server »

Port

Set Port Number to listen for connection and set time out limit of 5 seconds.

Send data to the TCP port specified once a connection has been detected. Numeric data is cast into string data and sent via TCP Write. The first TCP Write sets the amount of data to send and the second TCP Write sends the data. Error checking in the loop will stop the loop if a connection error occurs.

2.. Function

100

status

# of Points

5000

1) commencer par ecouter s il y a une communication tcp avec le vi : TCP Écouter

Crée un auditeur et attend la confirmation d'une connexion réseau TCP au port désigné.

2) dans la boucle tant que : générer la courbe a afficher et la traduire en chaine de caracteres (flaten) avec en structure la longueur de chaine puis la dite chaine.

3) enfin on ferme la connection tcpip lorsque la boucle s arrete

Page 58: Communication réseau pour groupes d’utilisateurs

58

TCP et Labview

Programme d exemples « simple data client»

Address

Port

4

status

0,000

100

Connection is not connected64

Connection closed66

Connection aborted62

Open connectionwith port and address information.

Read the data at the port specified and cast the data into a numeric representation. First TCP Read acquires the size of the data and the second TCP Read reads the data and passes it to the chart. Error checking in the loop will stop the loop if a connection error occurs.

Close connection when done.

Convert connection errors to warnings and check for additional errors.

1) commencer par Ouvre une connexion TCP avec l'adresse et le port. Fermer la connexion avec la fonction TCP Fermer la connexion. Exemples

2) lire les data 3) fermer la connection

Page 59: Communication réseau pour groupes d’utilisateurs

59

TCPIP

Notes sur un exercice simplifié de communication TCPIP utilisant le modele Client / Serveur Objectif : créer un programme serveur et un programme client permettant au serveur de converser par echange de chaine de caractere par liaison tcpip Structure : un programme réalise le serveur tandis que l’autre programme réalise le client Principe de création de communication par le serveur et d’ouverture de communication par le client : Le serveur crée un auditeur virtuel afin de pouvoir écouter et détecter la présence d’un auditeur sans générer d’erreur s’il n’y a aucun auditeur connecté.Aussitôt qu’un auditeur est détecté, le serveur crée une connection qui sera ouverte par le client. Une fois la communication créée et ouverte, le serveur et le client peuvent ecouter et lire des chaines de caracteres. C’est le client et seulement lui qui peut fermer la connection tcpip.

Page 60: Communication réseau pour groupes d’utilisateurs

60

TCPIP client

Face avant du programme client sans gestion des erreurs   Face arriere du programme client sans gestion des erreurs 

Page 61: Communication réseau pour groupes d’utilisateurs

61

TCPIP serveur

Face avant du programme serveur sans gestion des erreurs  Face arriere du programme serveur sans gestion des erreurs  

Page 62: Communication réseau pour groupes d’utilisateurs

62

TCPIP avertissement Concernant l’ecriture tcpip : L’écriture de la chaine de caractere sur le port tcpip n’a pas besoin de timeout, elle peut se faire a tout moment. Mais dans ce cas on ne gère pas une possible erreur de communication a l ecritureIci le choix a été fait d’ecrire une chaine qui se termine par retour chariot et fin de ligne qui sont definis comme caracteres de fin de chaine.  Concernant la lecture tcpip : De meme, on ne gere pas d erreur de lecture de chaine de caractere ecrite sur le port causée par la communication.Mais il est indispensable de donner le nombre d’octets a lire et le timeout de lecture car pour fonctionner, ce sous programme de lecture tcpip a besoin d’avoir une chaine a lire qui a donc ete envoyée par le serveur .. et il n y a rien de moins certain !

Page 63: Communication réseau pour groupes d’utilisateurs

63

TCPIP inconvenientsInconvénients de cette version sans gestion d’erreurs :

 Lorsque le client ferme la connexion tcpip , le serveur ne voit plus de connexion tcpip et génère une

erreur.Lorsqu’on démarre le client avant le serveur, le client ouvre une connexion tcpip inexistante et se

génère une erreur. 

Page 64: Communication réseau pour groupes d’utilisateurs

64

TCPIP gestion des erreursPrincipe de gestion des erreurs de communication :  Créer un voyant booléen Connexion qui est à faux lorsque la connexion tcpip est inactive et à Vrai lorsque la connexion tcpip est active PS : l’entrée ou la sortie d’erreur des sous programmes TCPIP de labview est à faux lorsque la connexion tcpip est active et à vrai lorsque la connexion tcpip est inactive. En conséquence il faut prendre son complément pour obtenir le voyant booléen Connexion.  Concernant le client :

Ne pas ouvrir de connexion tcpip distante mais seulement une connexion tcpip localeN’ouvrir de connexion tcpip locale que si la connexion tcpip est inactiveNe fermer la connexion tcpip que si la connexion tcpip est active

 Concernant le serveur :

N’écouter un nouvel auditeur que si la connection tcpip est inactive Concernant le serveur et le client :

La lecture et l’ecriture de chaine de caractere sur le port tcpip est identique pour le client et pour le serveur. Ces deux opérations ne sont realisées que si la connexion tcpip est active.

La valeur du timeout d’ecoute de connexion tcpip par le serveur doit etre grande devant la valeur du timeout d’ouverture de connexion tcpip du client de maniere a ce que ce soit seulement le client qui determine la creation de connection. Dans le cas contraire il se peut que la connexion tcpip ne soit jamais créer et ouverte car il y a une chance non nulle que le serveur arrete d ecouter lorsque le client crée sa connexion locale !

Page 65: Communication réseau pour groupes d’utilisateurs

65

Exercise 1 TCP/IP

Approximate Time to Complete: 45 min.

Page 66: Communication réseau pour groupes d’utilisateurs

66

TCPIP client avec gestion erreurs

Face avant du programme client avec gestion des erreurs   Face arriere du programme client avec gestion des erreurs 

Page 67: Communication réseau pour groupes d’utilisateurs

67

TCPIP serveur avec gestion erreursFace avant du programme serveur avec gestion des erreurs  Face arriere du programme serveur avec gestion des erreurs 

Page 68: Communication réseau pour groupes d’utilisateurs

68

The TCP/IP Functions

TCP Close Connection

TCP Errors

Page 69: Communication réseau pour groupes d’utilisateurs

69

Summary

• TCP/IP

• DataSocket

• Prizes