nem02004
Messages postés47Date d'inscriptionvendredi 21 mai 2004StatutMembreDernière intervention23 avril 2007
-
26 juil. 2005 à 02:06
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 2009
-
26 juil. 2005 à 12:09
Voila jai fait un petit programme qui se connecte à 2 serveur irc differents ( bia 2 socket en thread ).
Je voudrais que l'orsque un des deux serveur recoit une donnée, il l'envoy à l'autre serveur ( via le second socket );
Exemple:
{
Socket_1 = socket (AF_INET, SOCK_STREAM, 0);
....
Socket_2 = socket (AF_INET, SOCK_STREAM, 0);
...
}
...
{
...
taille_recu = recv (Socket_1, msg_recu, 1024, 0);
msg_recu[taille_recu] = 0;
send (Socket_2, "looOOOl", strlen ("looOOOl"), 0);
}
Malheuresement ca ne marche Pas :/ je narrive pas a envoyer au socket_2 depuis la reception des données du socket_1
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 26 juil. 2005 à 10:42
salut,
tu as été clair, mais il manque les 3/4 du code ... la connexion de
socket_2 ne doit pas etre correcte, mais la, personne ne va pouvoir
t'aider si tu ne copies colles rien ...
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 26 juil. 2005 à 12:09
"au lieu de menvoyer les commandes sur les socket
bot1 et bot2 (irc.voila.fr), il menvoi le tout sur le socket
irc.fr.worldnet.net"
c'est normal, les sockets Bot1 et Bot2 désignent ton socket principal ...
(cf le debut de ta procedure Irc_Bot : { Bot1 sock; } else { Bot2 sock; })
en fait tu t'es emmelé completement les pinceaux :) (d'ailleurs
pourquoi crées tu deux threads qui se connectent sur irc.voila.fr ?? si
tu fais deux fois createthread, tu auras deux threads et non pas un
seul)
le plus simple il me semble est de créer deux sockets qui seront des variables globales .
SOCKET sock_voila;
SOCKET sock_worldnet;
ensuite depuis ton thread worldnet, tu envoies ce que tu veux sur sock_voila.
A toi de reperer que quand le nom du serveur est voila, tu utilises sock_voila, et sinon tu utilises sock_worldnet.
sers toi egalement de noms de variables qui ont un sens plus important !!!
(ex hThreadVoila ou hThreadWorldnet au lieu de hThreadd ...)
si tu as besoin de plus d'aide ou que j'ai pas été assez clair, hésite pas