Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pb réseau recv() + connection [ Archives / API ] (Galmiza)

vendredi 8 avril 2005 à 09:55:00 | Pb réseau recv() + connection

Galmiza

Salut,

J'ai téléchargé de nombreux tutoriaux sur les réseaux, les sniffers, les forgeurs de paquets etc, mais j'ai un petit problème:

Sniffer:
Sur mon ordinateur portable (assez récent), les sniffers fonctionnent.
Mais sur ma tour (plus vieille et équipée d'une carte réseau à 11€ de Montgallet) l'appel à recv() échoue alors que le bind() réussi.

Chat Client/Serveur
Depuis un même ordinateur, quand je lance des logiciels de chat en réseau, un pour le client, un pour le serveur, la connexion est établie et le chat fonctionne. "Normal, tu es sur le la même machine et aucune donnée ne transite par le réseau." me diriez-vous.
Oui mais lorsque je fais de même sur ma tour, celà ne fonctionne pas !

Donc bien évidement, il m'est impossible de communiquer avec ces logiciels entre le portable et la tour. IP respectives 1.1.204.98 et 1.1.204.97

Borgchat
Cependant avec le logiciel Borgchat, j'arrive à connecter les 2 ordinateurs, mais Borgchat met un certain temps (qq minutes) avant de reconnaître les 2 ordinateurs. Les messages transitent ensuite sans problèmes sur le réseau.
Windows aussi met qq temps avant de voir les 2 ordinateurs du même groupe de travail.


Sur la tour:
Bref, j'ai pensé qu'il fallait plusieurs tentatives de connection afin que celle-ci réussie, donc j'ai effectué des appels à recv() en boucle.
Mais le programme reste bloqué au 2ème appel et il est impossible de terminer le processus du programme. L'ordinateur fini par planter 5 minutes plus tard.


Bref, voici la liste de questions qui découlent du développement ci-dessus.
Quel est le problème de ma tour ?
Comment tester des connections (sachant que le bind() réussi) ?
Comment connecter en réseau 2 ordinateurs qui mettent du temps à se reconnaitre ?
Avez-vous eu déjà le même problème ? (on ne sait jamais)

Même si  vous n'avez pas de réponses aux questions, je vous serez reconnaissant de me donner des informations que vous pensez que je n'ai pas; oui, il ne faut pas non plus que vous ayez lu tout ça pour rien !


Merci infiniment.

vendredi 8 avril 2005 à 10:53:40 | Re : Pb réseau recv() + connection

Vulpetrus

une simple question pour commencer : c'est quoi tes environnements ?
Tout ça m'a l'air d'un problème de configuration réseau.
donnes plus d infos stp...
si c'est windows (regarde si tu as installé les protocoles tcp/ip(celui ci tu devrais l'avoir) et ipx .
tes adresses IP me paraissent particulières (prends les classiques : 192.168.0.* ou 193.51.103.*) c quoi ton masque de sous reseau ?
1.1.*.* je sais plus à quelle domaine ça fait référence.
a tte suite ;)

vendredi 8 avril 2005 à 12:03:16 | Re : Pb réseau recv() + connection

Galmiza

Merci pour ta réponse,

Je suis sous Windows XP SP2.
Je programme avec VC++ 6.0.
Les IP sont particulières car elles sont compatibles avec le réseau de l'école (pour mes tests, je ne branche ensemble que mes 2 ordinateurs).
Le groupe de travail n'est pas MSHOME mais BIRSE.
Masque sous-réseau: 255.0.0.0.

Mais les IP sont correctes car le logiciel de chat Borgchat permet de communiquer entre les 2 PC. Les protocoles TCP/IP sont installés et l'IPX aussi.
Le must serait d'avoir accès aux sources de Borgchat mais son auteur ne les diffuse pas.

Le problème principal est que la tour n'arrive pas à lancer les sniffers les plus simples et n'est pas capable de communiquer avec elle-même via le réseau, ni avec le portable grâce aux logiciels de chat "basiques". Seul borgchat leur permet d'échanger des données.

Ah oui. Le sniffer du portable (qui fonctionne) reçoit beaucoup de données de la tour, des données pour tout le réseau (IPdest = 1.255.255.255). Il intercepte aussi les paquets envoyés par Borgchat.

J'espere que ces informations te satisfairont.

Merci encore !


vendredi 8 avril 2005 à 12:20:45 | Re : Pb réseau recv() + connection

Vulpetrus

je pense que je risque de donner ma langue au chat ;)
Le problème semblerai comme tu dis se situer au niveau de ta tour qui ne se voit pas et qui émet des messages broadcasts.
peut être un probleme de table de routage (mais je pense que tu as déja du regarder)
essaye quand meme de la vider et utilise la commande trace sous dos pour voir ce que fait ta tour
- t'as des firewalls ?

hum en espérant t'aider ;)

vendredi 8 avril 2005 à 12:30:41 | Re : Pb réseau recv() + connection

Vulpetrus

c la commande route sous dos : sorry

vendredi 8 avril 2005 à 16:31:23 | Re : Pb réseau recv() + connection

cleter

Slt,
Pour ta tour, je pense que soit ta carte reseau deconne (regarde si tu na pas une led orange ou rouge ki sallume sur ta carte reseau, ca voudrai dir qu'il y a des conflits)
Tu na pa un firewall sur ta tour?
Tu arrive a allé sur internet avec ta tour?



samedi 9 avril 2005 à 15:24:01 | Re : Pb réseau recv() + connection

Galmiza

Merci pour vos réponses,

J'avais déjà essayé tous firewalls désactivés, toujours le même problème.
En plus j'ai plusieurs fois réinstallé la carte réseau tellement elle était lente à la détente.
J'ai acheté cette carte uniquement pour mettre en réseau le portable et la tour, jamais pour surfer (et je n'ai pas eu l'ocassion d'essayer le net).

Actuellement, je ne peux pas avoir accès à la tour (changement (temporaire)° de ville oblige). Par contre, je vais essayer les programmes sur d'autres couples d'ordinateurs pour voir si le problème sur la tour est purement dû à la carte réseau (ou peut-être aux programmes eux-mêmes mais ça m'étonnerait car les programmeurs de cppfrance sont les meill... bon ok j'arrête :-) ).

Cependant, le logiciel Borgchat (oui, je sais encore lui) arrive à faire transiter des messages de la tour au portable et vice versa, donc réussi à établir une connection.
En tous cas la carte réseau de la tour fonctionne (mal certes mais fonctionne).

Comment se fait-il qu'on ne puisse pas essayer plusieurs fois la fonction recv() ?
En fait si la première tentative échoue (-1 returned) la seconde bloque l'ordinateur (sans pour autant monopoliser le processeur).

Je vais continuer de chercher de la doc sur les réseaux pour quitter le statut de newbie dans le domaine (j'ai quand même dû chercher sur le net la définition de certains de vos mots ).


Merci et @+

Guillaume

samedi 9 avril 2005 à 16:36:31 | Re : Pb réseau recv() + connection

cleter


si la focntion recv() retourne -1, tu devrai faire un WSAGetLasError() qui va te retourner le numero d'erreur coresspondante!! une fois que tu l'a tu regarde dans l'msdn pour savoir quesque c'est comme erreur.
Pour ce qui est de ton recv() qui suit, c normal que ca bloque, car c'est fonction bloquante lol. elle attend de recevoir quelque chose, et quand elle atten a n'a nullement besoin du proc. c'est pour ca que ca le monopolise pas


dimanche 10 avril 2005 à 13:36:18 | Re : Pb réseau recv() + connection

Galmiza

Je n'ai plus accès à la tour actuellement mais je suis presque sûr que le numéro d'erreur est le 10061; et dans MSDN:

WSAECONNREFUSED
10061
Connection refused.
No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running.
Bref, le problème vient très très certainement de la carte.

La fonction recv() est une fonction bloquante...
Le recv() en question est dans un sniffer on ne peut plus simple:
Si elle reussi, on peut l'appeler une autre fois et ainsi lister tous les paquets IP qui passent par le réseau, par contre, si elle échoue, un second appel bloque le programme.

Comment faire, dans le cas ou elle échoue, une autre tentative de connection ? car dans le cas de la carte de la tour, il faut sans doute l'essayer en boucle pour recevoir (enfin) un paquet.

Merci

dimanche 10 avril 2005 à 14:35:56 | Re : Pb réseau recv() + connection

cleter

"No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running."

Ca veu dire que c'est ton portable qui a refuser que ta tour se connecte. peu etre du a ton parfeu du portable.
pour ce ki est du sniffer, j'en c rien...





1 2

Cette discussion est classé dans : connection, réseau, tour, ordinateurs, recv


Répondre à ce message

Sujets en rapport avec ce message

Retrouver le nom de la connection réseau [ par mammouth_fr ] Bonjourje me bats avec les API Windows et Visual C++ pour retrouver le nom de la connection réseau. le fameux "Connection au réseau local" par défaut. à la recherche d'une librairie réseau ! [ par patoche43 ] Bonjour à tous, je dois faire un projet en C++ (de préférence Visual et sous Windows) avec une grosse partie réseau : Il s'agit d'un jeu de stratégie machine virtuelle 2007 [ par malbackt ] Bonjour à tous;Pourriez vous m'aider à résoudre ce problème s'il vous plaît,Virtual PC n'a pas pu ouvrir le pilote des services Réseau d'ordinateurs v réseau de neurones en c++Builder [ par dounyazed31 ] bonjour.J'ai fait un programme en c++,et je n'arrive pas à faire mon interface avec c++builder,vu que mes algorithmes contiennent des classes et je ne transmission reseau plante sur recv [ par cc59 ] bonjour, j essayer de faire un programme client qui récupére des valeur sur un serveur! le probleme est que le programme plante après 147 connexions connection usb [ par informaticous ] Bonjour, je cherche un moyen qui au bout de la 30 eme connection de mon hdd en usb se defragmente. En gros j'ai un bat qui execute la defragmentation Couper la connection internet ? [ par albert0 ] Bonsoir,Voilà, je voulais savoir si il yavait un moyen simple de couper la connection internet en C/C++ ?J'entend par là, de stopper tout traffique en tour de hanoi [ par houcem001 ] salut je suis entrain de programmer le tour de hanoi mais j'ai un probleme au deplacement automatique des disques. je souhaite que les disques se dep Envoie de fichier. [ par kiitos ] Voici mes 2 morceaux de code qui ont un problème, recv() reçois mais fwrite() ne marque rien du tout. J'ai essayé  avec printf() et fprintf() mais dan


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,764 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.