djin94
Messages postés10Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention30 juillet 2007
-
27 juil. 2007 à 16:33
djin94
Messages postés10Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention30 juillet 2007
-
30 juil. 2007 à 11:28
Bonjour,
Je programme sous Visual C++ et je souhaite établir une connection UDP entre deux pc via une liaison Wifi. J'ai essayé avec Winsock2 mais ca ne marche pas en Wifi (réseau ad hoc). Par contre j'ai testé en LAN la connexion s'établit parfaitement.
Est ce qu'il est impossible d'établir la connection en Wifi en utilisant Winsock2? Pouvez vous m'aider svp?
Merci d'avance.
voici le code que j'ai implémenté pour le serveur.
// IAMNet.cpp : définit le point d'entrée pour l'application console.
//
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// Initialise MFC et affiche un message d'erreur en cas d'échec
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO : modifiez le code d'erreur selon les besoins
_tprintf(_T("Erreur irrécupérable : l'initialisation MFC a échoué\n"));
nRetCode = 1;
}
else
{
// TODO : codez le comportement de l'application à cet emplacement.
WSADATA WSAData;
SOCKET sock;
SOCKADDR_IN clientsin;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;
CHAR buff;
WSAStartup(MAKEWORD(2,0), &WSAData);
cs_vicenzo
Messages postés178Date d'inscriptionmardi 16 août 2005StatutMembreDernière intervention25 août 20101 27 juil. 2007 à 19:39
Pour winsock, aucune différence entre liaison Wifi filaire...
Dans ton code que tu poste :
* le port du serveur n'est pas le même que celui sur lequel le client veut se connecter
* l'addresse IP du server en WIFI est- elle la même car le client se connect à une IP en dur...
J'ai implementé une librairie C++ pour ma boite fonctionnant en TCP (filaire, WIFI, ..), Irda et bluetooth.
Le code est stritement le même pour Wifi et filaire.
Seules les implémentation Irda et bluetooth de Winsock exige un peu de code particuliers
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 30 juil. 2007 à 09:06
la seul différence de traitement entre le wifi et du eth c'est le traitement des fonctions spéciales pour le raw socket (codes erreur) sinon sa fonctionne exactement pareil.
Pour info avant de continué dans ton code test si chacune des fonction s'effectue correctement tu éviteras ainsi tout un tas de bugs introuvables ^^ :p
djin94
Messages postés10Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention30 juillet 2007 30 juil. 2007 à 10:26
Bonjour à tous et merci pour vos réponses.
J'ai fait les modifs pour les adresses et les ports. J'ai oublié de préciser que lorsque je teste sur un seul ordinateur les deux codes cela marche en Wifi. C'est à dire, lorsque je me connecte en passant en dur l'IP du server au code client sur le même ordinateur ça marche sans problème.
C'est lorsque je passe l'exe généré à l'autre ordinateur que la connection ne s'établie pas. Existe t-il des problèmes de pare-feu ou de filtrage d'adresse en mode Ad-Hoc pour le Wifi ?? Ou sinon je me trompe complètement...
En tout cas j'ai testé les fonctions une à une et elle marche en locale mais pas lorsque je tente une connection à un ordinateur distant.
Petite précision, j'ai tenté de streamer un flux vidéo avec VLC et ca marche sans problème.
cs_omnia
Messages postés240Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention22 mars 2009 30 juil. 2007 à 11:00
tu as bien pensé a mettre ton exé en release et non debug ?
sinon ce genre de problème sont fréquent sous visual... dans le cas de mauvaise déclaration, ou buffer overflow.
pour ce qui est de ton problème, le firewall windows et le cnetre de sécurité sont activé ? et leurs services respectifs ? ou autre logiciels du genre ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
djin94
Messages postés10Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention30 juillet 2007 30 juil. 2007 à 11:28
Salut.
Ca y est ca marche! J'ai changé l'adresse IP des deux pcs et j'ai attribués moi meme les adresses. J'ai rentré des adresses comprises dans les plages d'adresses privées et maintenant ca marche sans problème.