Aide sur Pont TCP/IP entre Application UDP
Le
Hauguel Arnaud
Bonjour
bon c'est clair on va faire plus simple (?) :
- Le Logiciel A Etudier -
Partie Client : TechClient
Partie Serveur : TechServeur
--
- Mon Programme A Réaliser -
Partie Client : ProgClient
Partie Serveur : ProgServeur
-
Sur l'ordinateur client il y a :
- le logiciel (TechClient) qui envoi des paquets UDP que je doit ecouter et
modifier
- Mon Programme (ProgClient) qui lui ecoute tous les paquets de TechClient
et les modifient et les envois
Sur l'ordinateur Serveur il y a :
- le logiciel (TechServeur) qui recois des paquets UDP de la partie Client
(TechClient)
- Mon Programme (ProgServeur) qui lui ecoute tous les paquets de TechServeur
et les modifient et les envois
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
ENVOI DE DONNEES DEPUIS LE LOGICIEL CLIENT VERS SON SERVEUR
Avant :
TechClient => Paquets UDP ~~~ INTERNET ~~~ TechServeur
Apres :
TechClient => ProgClient => TCP ~~ INTERNET ~~ ProgServeur => TechServeur
ENVOI DE DONNEES DEPUIS LE LOGICIEL SERVEUR VERS SON CLIENT
Avant :
TechServeur => Paquets UDP ~~~ INTERNET ~~~ TechClient
Apres :
TechServeur => ProgServeur => TCP ~~ INTERNET ~~ ProgClient => TechClient
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Voila donc Sur le Client :
il faut que mon programme ecoute tout se qu'envoi et recois TechClient sur
le port 11600 UDP. Si un paquet est recu en TCP/IP ProgClient doit le lire
verifie grace a des regles si le paquet est correct et l'envoyer a
TechClient en Local.
Si un paquet est Envoyer depuis TechClient en UDP alors ProgClient doit le
lire verifie grace a des regles si le paquet est correct et l'envoyer a
ProgServeur en TCP/IP sur internet.
Sur le Serveur :
il faut que mon programme ecoute tout se qu'envoi et recois TechServeur sur
le port 11600 UDP. Si un paquet est recu en TCP/IP ProgServeur doit le lire
verifie grace a des regles si le paquet est correct et l'envoyer a
TechServeur en Local.
Si un paquet est Envoyer depuis TechServeur en UDP alors ProgServeur doit le
lire verifie grace a des regles si le paquet est correct et l'envoyer a
ProgClient en TCP/IP sur internet.
En Gros je veux juste annuler le lien entre TechClient et TechServeur qui
est en UDP et le remplacer par un lien en TCP/IP par mon Application
Client/Serveur (ProgClient et ProgServeur). De plus je veux pouvoir analyser
les paquets qui sont envoyer entre les deux mais sa c'est simple encore une
fois les connections faite entre TechClient/ProgClient et
TechServeur/ProgServeur.
Aider moi à réalisé la connections de mon application avec le logiciel
client s'il vous plait ! :( Si qq a de la doc ou un bout de code ou un
exemple enfin quoi que se sois Merci de me Mailer @ Ceticah@hotmail.com
ou de repondre ici
Encore Merci !
-
--
1ere Version :
Voila je vous explique se que je cherche a faire :
- J'ai une appli Client/Server qui utilise Exclusivement le protocole UDP
(helas).
- Je connais le port utiliser (11600) et je peux le modifier des 2 cotés.
- De meme je peux modifier l'adresse de connection du Client.
- Je cherche a créé un pont, donc une application Client/Serveur.
- Pour info je peux modifier le port UDP du Client et du Serveur
- Je passe par un Routeur donc je peux géré les routages de ports entre les
2 APPLI (port 10600 -> 50 )
- Voici un diagramme rapide de se que je cherche à réalisé :
Application Client envoi les paquets UDP sur le port 11600 en
local(127.0.0.1)
|-- Mon Application local les Receptionnent (UDP:11600) et les
envoient à mon Serveur en TCP/IP sur le port 5000 par exemple
De L'autre Coter Mon Application Serveur Receptionne les paquets TCP/IP
sur le port 5000 et les renvoi en UDP sur le port 11600 à l'Appli Serveur en
local
|-- L'appli Serveur les Receptionnent (UDP:11600) et les traitent
Apres elle renvoi les Paquets UDP sur le port 11600
|-- Mon Application Serveur Receptionnent les paquets UDP et
les renvoient sur le port TCP/IP 5000
Je souhaite simplement créé une passerelle TCP/IP entre l'APPLI CLIENT et
l'APPLI SERVEUR qui travaillent qu'en UDP.
J'ai donc penser a créé un Controle Winsock Udp pour ecouter sur le port
11600 mais je ne connais pas encore bien ce protocole :-/
Le lien entre les 2 application en TCP/IP lui fonctionne bien.
Le Probleme est que le serveur UDP lui gére le Multi connection. donc
j'aimerais savoir comment sont géré les paquet ? par rapport a l'ip qu'il
contiennent ?
Si quelqu'un a des infos sur le protocole UDP et VB ? comment recevoir les
paquets ? enfin plein d'info pour m'aider, des bouts de codes, . Merci
beaucoup !
Arnaud
bon c'est clair on va faire plus simple (?) :
- Le Logiciel A Etudier -
Partie Client : TechClient
Partie Serveur : TechServeur
--
- Mon Programme A Réaliser -
Partie Client : ProgClient
Partie Serveur : ProgServeur
-
Sur l'ordinateur client il y a :
- le logiciel (TechClient) qui envoi des paquets UDP que je doit ecouter et
modifier
- Mon Programme (ProgClient) qui lui ecoute tous les paquets de TechClient
et les modifient et les envois
Sur l'ordinateur Serveur il y a :
- le logiciel (TechServeur) qui recois des paquets UDP de la partie Client
(TechClient)
- Mon Programme (ProgServeur) qui lui ecoute tous les paquets de TechServeur
et les modifient et les envois
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
ENVOI DE DONNEES DEPUIS LE LOGICIEL CLIENT VERS SON SERVEUR
Avant :
TechClient => Paquets UDP ~~~ INTERNET ~~~ TechServeur
Apres :
TechClient => ProgClient => TCP ~~ INTERNET ~~ ProgServeur => TechServeur
ENVOI DE DONNEES DEPUIS LE LOGICIEL SERVEUR VERS SON CLIENT
Avant :
TechServeur => Paquets UDP ~~~ INTERNET ~~~ TechClient
Apres :
TechServeur => ProgServeur => TCP ~~ INTERNET ~~ ProgClient => TechClient
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Voila donc Sur le Client :
il faut que mon programme ecoute tout se qu'envoi et recois TechClient sur
le port 11600 UDP. Si un paquet est recu en TCP/IP ProgClient doit le lire
verifie grace a des regles si le paquet est correct et l'envoyer a
TechClient en Local.
Si un paquet est Envoyer depuis TechClient en UDP alors ProgClient doit le
lire verifie grace a des regles si le paquet est correct et l'envoyer a
ProgServeur en TCP/IP sur internet.
Sur le Serveur :
il faut que mon programme ecoute tout se qu'envoi et recois TechServeur sur
le port 11600 UDP. Si un paquet est recu en TCP/IP ProgServeur doit le lire
verifie grace a des regles si le paquet est correct et l'envoyer a
TechServeur en Local.
Si un paquet est Envoyer depuis TechServeur en UDP alors ProgServeur doit le
lire verifie grace a des regles si le paquet est correct et l'envoyer a
ProgClient en TCP/IP sur internet.
En Gros je veux juste annuler le lien entre TechClient et TechServeur qui
est en UDP et le remplacer par un lien en TCP/IP par mon Application
Client/Serveur (ProgClient et ProgServeur). De plus je veux pouvoir analyser
les paquets qui sont envoyer entre les deux mais sa c'est simple encore une
fois les connections faite entre TechClient/ProgClient et
TechServeur/ProgServeur.
Aider moi à réalisé la connections de mon application avec le logiciel
client s'il vous plait ! :( Si qq a de la doc ou un bout de code ou un
exemple enfin quoi que se sois Merci de me Mailer @ Ceticah@hotmail.com
ou de repondre ici
Encore Merci !
-
--
1ere Version :
Voila je vous explique se que je cherche a faire :
- J'ai une appli Client/Server qui utilise Exclusivement le protocole UDP
(helas).
- Je connais le port utiliser (11600) et je peux le modifier des 2 cotés.
- De meme je peux modifier l'adresse de connection du Client.
- Je cherche a créé un pont, donc une application Client/Serveur.
- Pour info je peux modifier le port UDP du Client et du Serveur
- Je passe par un Routeur donc je peux géré les routages de ports entre les
2 APPLI (port 10600 -> 50 )
- Voici un diagramme rapide de se que je cherche à réalisé :
Application Client envoi les paquets UDP sur le port 11600 en
local(127.0.0.1)
|-- Mon Application local les Receptionnent (UDP:11600) et les
envoient à mon Serveur en TCP/IP sur le port 5000 par exemple
De L'autre Coter Mon Application Serveur Receptionne les paquets TCP/IP
sur le port 5000 et les renvoi en UDP sur le port 11600 à l'Appli Serveur en
local
|-- L'appli Serveur les Receptionnent (UDP:11600) et les traitent
Apres elle renvoi les Paquets UDP sur le port 11600
|-- Mon Application Serveur Receptionnent les paquets UDP et
les renvoient sur le port TCP/IP 5000
Je souhaite simplement créé une passerelle TCP/IP entre l'APPLI CLIENT et
l'APPLI SERVEUR qui travaillent qu'en UDP.
J'ai donc penser a créé un Controle Winsock Udp pour ecouter sur le port
11600 mais je ne connais pas encore bien ce protocole :-/
Le lien entre les 2 application en TCP/IP lui fonctionne bien.
Le Probleme est que le serveur UDP lui gére le Multi connection. donc
j'aimerais savoir comment sont géré les paquet ? par rapport a l'ip qu'il
contiennent ?
Si quelqu'un a des infos sur le protocole UDP et VB ? comment recevoir les
paquets ? enfin plein d'info pour m'aider, des bouts de codes, . Merci
beaucoup !
Arnaud

Poser une question


La méthode utilisée est la même que celle pour les filtres antispam et que
pour divers antivirius:
On force le client mail à se connecter sur 127.0.0.1 sur le port x. Le
filtre antispam écoute sur 127.0.0.1 sur le port x.
Quand il reçoit une demande de connexion, il se connecte au serveur "réel".
Dans les filtres de mails, il modifie le nom d'utilisateur dans le logiciel
client originel pour la connexion et se base là dessus pour retrouver ce
serveur.
Par exemple:
Nom avant: toto
Serveur avant: www.toto.com
Port avant: 154
Nom après: toto;www.toto.com;154
Serveur après: 127.0.0.1
Port après: x (où ton logiciel écoute)
ensuite, il te suffit de modifier les paquets à la volée et de les
transférer.
Le principe est à peu près le même sur le serveur sauf que c'est le serveur
déjà en place qui écoute sur 127.0.0.1, port x ou y et c'est tou application
qui intercepte les paquets en écoutant sur le port d'origine qui aura été
retrouvé dans le "nom" chez le client.
--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
"Hauguel Arnaud" message de news:%
Alors pour information, j'ai essayé de faire une appli client serveur oui,
du moins déjas l'application client toute bête avec un winsock qui écoute,
et un qui renvoi en UDP tout bête vers le serveur, seulement je me retrouve
a avoir tout de même mon winsock_UDP_Reception_logiciel qui reçois les
paquets de mon Winsock_UDP_Envoi_Serveur et inversement, je ne comprend pas
et en plus cela empêche le logiciel client de se connecter au serveur
forcement :) donc comment marche exactement le system UDP pour le bind ?
j'ai pourtant dit a mon premier winsock écouter le port 25000 et le deuxième
winsock être sur le port 11000 ... ?
voila mon code ou est l'erreur ? ( je rappelle la c'est juste un pont en UDP
pour voir se qui passe)
l'application essaye de se connecter mais je reçois rien du tout :'( rien
qui se passe dans ma textbox et donc rien sur le reste du serveur. ..
## DEBUT CODE ##
Private Sub versclient_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
versclient.GetData strData
txtOutputClient.Text = txtOutputClient.Text & strData
versserveur.SendData strData
End Sub
Private Sub Form_Load()
'** versclient est le winsock pour recevoir et envoyer
'** vers le client qui est sur la machine meme donc
'** je met le localhost et le port pour recevoir (25000)
With versclient
' IMPORTANT: be sure to change the RemoteHost
' value to the name of your computer.
.RemoteHost = "127.0.0.1"
.RemotePort = "25000" ' Port to connect to.
.Bind 1002 ' Bind to the local port.
End With
'** versserveur est le winsock pour recevoir et envoyer
'** vers le serveur qui est sur la machine sur le reseau
'** je met l'ip de la machine et son port pour recevoir (11677)
With versserveur
' IMPORTANT: be sure to change the RemoteHost
' value to the name of your computer.
.RemoteHost = "192.168.10.95"
.RemotePort = "11677" ' Port to connect to.
.Bind 1001 ' Bind to the local port.
End With
End Sub
Private Sub versserveur_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
versserveur.GetData strData
TxtOutputServer.Text = TxtOutputServer.Text & strData
versclient.SendData TxtOutputServer.Text
End Sub
## FIN CODE ##
"François Picalausa" news:%
"réel".
logiciel
serveur
application