|
| [Socket] Redirection de socket |
| Iniciado por feveilleau, 10,sep. 2020 15:16 - No hay respuesta |
| |
| | | |
|
| |
| Publicado el 10,septiembre 2020 - 15:16 |
Bonjour,
Je souhaite créer une redirection de socket en continue. Je m'explique, aujourd'hui, j'ai une application A qui communique en socket vers un serveur A.
Soit Application A vers Serveur A.
Une application tierce entre les deux, qui à pour but de récupérer l'info de l'application A puis de renvoyer l'info vers le serveur A. ( J'espère être clair :/ )
Pour résumer :
- Aujourd'hui : Application A <=> Serveur A
Ce que je veux : Application A <=> Application B <=> Serveur A
Pour ce faire, je travail avec des Threads.
Ce que j'ai pour le moment :
1) Création d'une socket "Serveur", avec une attente de connexion 2) J'exécute mon Thread, avec comme paramètre( ma socketClient , mon serveur A ip et port) ThreadExécute("ThreadClient"+idx, threadNormal, passPlat,maSocketS,IpMoteur,PortMoteur) 3) Je rentre dans ma fonction passPlat
QUAND EXCEPTIONEXCEPTION DANS SI SocketConnecte("clientSocket"+idx, portM, ipM) = Faux ALORS Erreur("Connexion impossible : " + ErreurInfo(errMessage)) SINON ThreadMode( threadSectionCritique+threadMultiProcesseur) SocketChangeModeTransmission(socketServeur, SocketMarqueurFin, CRLF) bConnexionActif = Vrai ThreadExecute("ThreadServeur"+nbConnexion, threadNormal, Transmission,socketServeur,"clientSocket"+idx) ThreadExecute("ThreadClient"+nbConnexion, threadNormal, Transmission,"clientSocket"+idx,socketServeur) Trace("Connexion TCP Expéditeur : ", IpServeur + ":" + PortServeur + " <*---*> " + IpMoteur + " : " + PortMoteur ) FIN FAIRE Erreur("Connexion impossible " +bConnexionActif) SocketFerme("clientSocket"+idx) bConnexionActif=Faux RETOUR FIN 4)
PROCEDURE INTERNE Transmission(socketEntree,SocketSortie) monBuffer est un Buffer = 8192 msgRecu est une chaîne TANTQUE Vrai SI SocketChangeModeTransmission(socketEntree, SocketMarqueurFin, CRLF) = Faux ALORS RENVOYER Faux SINON msgRecu = SocketLit(socketEntree,Faux,3000) SI msgRecu <> "" ALORS SI SocketLit(socketEntree,Faux,3000)=-1 ALORS SORTIR SINON SI SocketEcrit(SocketSortie,msgRecu) = Vrai ALORS Trace(" Message envoyé : " + msgRecu) FIN FIN FIN FIN FIN FIN
J'ai une erreur sur la ligne : msgRecu = SocketLit(socketEntree,Faux,3000) => connexion réinitialisée par l'autre partie (WSAECONNRESET ) |
| |
| |
| | | |
|
| | | | |
| | |
|