Pb sur socket

patccool -  
Peguinette Messages postés 176 Statut Membre -
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
 
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
patccool
 
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
 
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
 
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
 
Est ce ke qq'1 a trouvé qqchose sur mon pb avec les sokets?
0
Utilisateur anonyme > patccool
 
Tu as une interface réseau sur le PC104?

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

Kalamit
"J'ai touché le fond, je commence à creuser"
0
Utilisateur anonyme
 
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 Statut Membre 30
 
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 Statut Membre 30
 
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
patccool
 
Si tu pouvais me trouver le code qd meme car c'est un peu urgent qd meme.
Merci
0
Peguinette Messages postés 176 Statut Membre 30
 
tu peux reprendre tel quel l'exemple de comment ca marche, c'est pareil !!

---------
Peguinette
0