Pb sur socket

Fermé
patccool - 26 mars 2002 à 16:09
Peguinette Messages postés 176 Date d'inscription vendredi 15 juin 2001 Statut Membre Dernière intervention 17 juillet 2003 - 28 mars 2002 à 11:12
Je dois réaliser une liaison réseau:
En fait le but est de récupérer les données de capteur (thermometre,anemometre,barometre) d'un PC104 pour les transférer dans une base de donnée!
Serait il possible de me donner un squelette de code voir voir le code en entier.(cela en C ou C++)

Description : protocole TCP/IP, famille AF_INET ...
Donc si qq'un a trouver mon pb il serait alors sympas de m'aider un peu!

Merci d'avance

6 réponses

Utilisateur anonyme
26 mars 2002 à 16:53
C'est un peu vague comme probleme...
Tu veux savoir comment fonctionne les sockets c'est ca?
Et en gros tu dois créer un client/server, le server étant ton PC104 (je sais pas ce qu'c'est qu'cette bete la)
Je peux t'aider sur les sockets pour ecrire ton server et ton client, mais il me faut des données un peu plus precise. Tu développes sur quoi?

Kalamit
"J'ai touché le fond, je commence à creuser"
0
Un PC104 c'est un Pc embarqué sans dique dur et relier a des capteurs.
On a un deuxieme PC sous linux qui nous servira de serveur et la on aura la base de donnée à stocker.
Les capteurs envoient des données à la base de données qui es sous le serveur donc on doit établir une liaison réseau (grace au socket) qui permet de communiquer entre les 2 PC.
Comment configurer la liaison réseau et comment utilisé les sockets?
0
Utilisateur anonyme > patccool
26 mars 2002 à 17:23
Les sockets fonctionnent toujours en client/server. C'est à dire que tu vas développer un premier programme qui va écouter ton réseaux et attendre les eventuelles demandes de connection.
Ensuite tu vas développer un second programme qui te permettra de demander des connection au server. Apres la transmission de données sera plus simple, la partie la plus dure à réaliser est le dialogue entre les 2 bécanes.
Dans cette configuration, ton serveur serait le PC104 et ton client ta machine sous Linux. En gros ta machine sous Linux irait chercher les données quand elle en as besoin. Mais comme il n'y a apparement pas de plateforme pour développer le server sur le PC104, je ne sais pas comment tu vas faire...
Je vais te trouver un cours interessant la dessus.

Kalamit
"J'ai touché le fond, je commence à creuser"
0
patccool > Utilisateur anonyme
26 mars 2002 à 17:35
Merci mais saurais tu comment configuer et meme tester la liaison réseau entre les des PC? ca serait déjà un début assez interessant.
Si tu arrive meme a trouver qq'1 ki saurait réalser ce ke je cherche je prend aussi.
0
patccool > Utilisateur anonyme
27 mars 2002 à 10:02
Est ce ke qq'1 a trouvé qqchose sur mon pb avec les sokets?
0
Utilisateur anonyme > patccool
27 mars 2002 à 10:18
Tu as une interface réseau sur le PC104?

Kalamit
"J'ai touché le fond, je commence à creuser"
0
Nous avons bien un réseau! Mais qu'est ce que tu veux dire par interface réseau?
0
Tjs rien sur mon pb de soket?
0
Utilisateur anonyme
27 mars 2002 à 16:55
Ca vient, ca vient...

Kalamit
"J'ai touché le fond, je commence à creuser"
0
Utilisateur anonyme
27 mars 2002 à 16:57
De toute facon, c'est pas un probleme de socket que tu as, puisqu'il faut que tes deux machines se voient pour développer avec des sockets.

Kalamit
"J'ai touché le fond, je commence à creuser"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Peguinette Messages postés 176 Date d'inscription vendredi 15 juin 2001 Statut Membre Dernière intervention 17 juillet 2003 30
28 mars 2002 à 10:06
Je ne connait pas le code par coeur mais je pourrait le retrouver si c'est pas urgent. Mais grosso modo :

Pour une connection TCP IP : mode connecté

Cote serveur :
---------------
- tu cree une socket (ou serveur socket) socket(...)
- tu utilises la methode bind(...) dans laquelle tu specifie le protocole (tcp) et précise si c'est AF_INET
- tu utilises la methode listen() qui va ecouter sur la socket
- si la methode listen() a entendu quelque chose sur la socket (une demande de connection de la par du client) tu utilises la methode accept(). cette methode va ouvrir une autre socket sur le serveur qui sera dediée uniquement au client qui a essayer de se connecter.
- avec cette socket su peut appeller les methodes recv() pour lire sur la socket ou send() pour ecrire.

cote client :
------------

-tu utilises la methode socket(..) en precisant l'adresse du serveur
- ensuite tu lance la methode connect()
- si la connection s'est bien passée tu peut utiliser les methodes recv() et send().

Voila !!
en fait en mode connecté, le serveur possede n sockets car il discute avec n clients et une socket (dite serveur socket) pour recevoir les nouveaux clients avant de leur creer une socket.

le client lui ne possede qu'une seule socket.

Bon courage.


---------
Peguinette
0
Peguinette Messages postés 176 Date d'inscription vendredi 15 juin 2001 Statut Membre Dernière intervention 17 juillet 2003 30
28 mars 2002 à 10:22
tu as les explications sur le cours de socket de commentca marche. Il y a aussi un exemple de code (que tu peux carrement recopier car c'estpour le protocole tcp_ip avec af_inet en C).


---------
Peguinette
0
Si tu pouvais me trouver le code qd meme car c'est un peu urgent qd meme.
Merci
0
Peguinette Messages postés 176 Date d'inscription vendredi 15 juin 2001 Statut Membre Dernière intervention 17 juillet 2003 30
28 mars 2002 à 11:12
tu peux reprendre tel quel l'exemple de comment ca marche, c'est pareil !!

---------
Peguinette
0