Pb sur socket
patccool
-
Peguinette Messages postés 176 Statut Membre -
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
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
A voir également:
- Pb sur socket
- Socket 478 ✓ - Forum Processeur
- Carte mere socket 775 - Forum Carte graphique
- Check_nrpe state critical: socket timeout after 10 seconds. ✓ - Forum Ubuntu
- Exception:une requête d’envoi ou de réception de données n’a pas été autorisée car le socket n’est pas connecté et (lors de l’envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n’a été fournie ✓ - Forum Programmation
- Socket - Forum Windows
6 réponses
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"
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"
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"
Kalamit
"J'ai touché le fond, je commence à creuser"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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?
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"
Si tu arrive meme a trouver qq'1 ki saurait réalser ce ke je cherche je prend aussi.
Kalamit
"J'ai touché le fond, je commence à creuser"