code c pour sockets (udp vers tcp et inversement)
Bonjour,
J'ai déjà fait des sockets (client et serveur) udp qui communiquent entre elles et tcp qui communiquent entre elles.
Mais là, je cherche du code en C qui me permettrait de faire communiquer via des sockets un client udp avec un serveur tcp par exemple ou bien un client tcp avec un serveur udp... Qui pourrait m'aider?
merci d'avance.
Re: code c pour sockets (udp vers tcp et inversement)
Citation:
Envoyé par HiT
je cherche du code en C qui me permettrait de faire communiquer via des sockets un client udp avec un serveur tcp par exemple ou bien un client tcp avec un serveur udp...
Il faut probablement faire un routeur. Il faut au moins 2 acces réseau.
Code:
1 2
| passerelle IP (routeur)
serveur UDP <---connexion UDP connexion TCP <---> Client TCP |
Mais si tu as une machine Linux avec 2 cartes Ethernet, ça se fait en quelques lignes de configuration de IProute...
[EDIT]
C'est complètement idiot de faire comme ça, et ça ne marchera pas.
Il faut en fait faire une 'boucle applicative' avec 2 serveurs
- TCP -> UDP
Créer une connexion 'serveur' TCP
Lorsqu'on recoit des données (recv), les réémettre en UDP à qui de droit (sendto)
- UDP -> TCP
Créer un serveur UDP
a chaque trame UDP reçue (recvfrom), se connecter en TCP, emettre la trame (send), se deconnecter.
Le tout peut être fait avec un seul process grace à select() qui peut surveiller plusieurs sockets à la fois (y compris stdin pour quitter ou passer des commandes...)
Ca peut aussi être un daemon muet et invisible...
.