begin process at 2010 02 10 03:50:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Pb réseau recv() + connection


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb réseau recv() + connection

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ée 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 connection proxy !! [ par anonyme_man_in_this_world ] salut !! je voudrais savoir comment peut on realiser une connection proxy . merçi d'avance [C] Adresse Reseau Local [Linux] [ par ZedMaTrix ] Bonjours a tous! J'ai regardé un peu tout les postes du site à ce sujet ... mais je me trouve toujours avec mon adresse de rebouclage et pas mon adre pbm ac le SELECT [ par goueg83460 ] bonjour je veut faire une requete "SELECT" sachant que j'ai rempli un formulaire avant et que par la suite je veut faire afficher les information conc Capture d'un flux video sur un réseau local [ par tylerssc ] Salut à tous, Nous commencons actuellement un projet qui dans l'ensemble nous permettra de gérer un système de video surveillance avec possibilité de [Socket] Connection serveur pop [ par LordBob ] Bonjour,voila en fait j'aimerais savoir pourquoi l'instruction suivante me renvoie faux? peut-être parce que je n'utilise pas la bonne instruction:hst detection des stations informatiques sur le réseau enutilisant java+snmp [ par guirat ] Comment detecter des stations informatiques sur le réseau enutilisant java+snmp?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales