Bonjour les experts;
Je roule sous XP Ed Fam, 2 GO de Ram, 1TO de disque dur …
mon PC dispose d'une carte réseau mais qui n'est pas raccordé.
Quand dans le «*Panneau de Configuration*» de XP, je vais dans «*Connexion réseau*», l'activation de ma carte réseau échoue et je pense que cela est dû à la non connexion de ma carte sur un hub ou un switch ou encore un routeur …
Est ce vrai ?
De plus, je programme sous Visual Studio 2005 Standard (oui je sais c'est viellot) et je me lance dans la programmation de Client Serveur pour echange de données.
J'ai Net.Framework 3.5 SP1
Pour le Serveur, je me suis très inspiré de l'exemple de votre tutoriel sur «*Les réseaux*» qui utilise l'interface LoopBack (boucle logicielle) de ma carte avec comme adresse «*127.0.0.1*» et comme port: 13000.
Un extrait de code pour utilisation de TcpListener qui ecoute le port 13000
Mon problème est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // Set the TcpListener on port 13000. Int32 port = 13000; // IPAddress[] t_ip_adr = Dns.GetHostAddresses( Dns.GetHostName() ); IPAddress localAddr = IPAddress.Parse( "127.0.0.1" ); // TcpListener server = new TcpListener(port); server = new TcpListener( localAddr, port ); // ici exception Socket avec erreur code 10042 vu dans le deboggage dans la propriété «*server.Server.EnableBroadcast*» // Serveur_defaut est une variable locale pour mes besoins this.Serveur_defaut = server; // Start listening for client requests. server.Start(); // quelques lignes plus bas TcpClient client = server.AcceptTcpClient(); ........
Quand je lance le serveur par bouton (dans une Winform), tout semble Ok. Outre le blocage fonctionnel normal sur la methode «*server.AcceptTcpClient()*», ma fenêtre serveur (WinForm)reste bloquée: impossible de la fermer par le coche en haut à droite. Dans le gestionnaire de tâches (XP), l'application ne répond pas et seule une action forte «*Terminer maintenant*» permet de clore l'appli.
Piste suivie dans le déboggage, une Exception Socket est levé dans la propriété «*EnableBroadcast*» avec «*Error code 10042*». La recherche dans MSDN ou Base ce connaissances Microsoft parle de «*Mauvaise option de protocole*» alors que je n'en ai porté aucune et suis sous XP SP3 et Net.Framework 3.5 SP1.
je pense que le blocage vient de là.Bad protocol option. An unknown, invalid or unsupported option or level was specified in a getsockopt or setsockopt call.
Qui a une idée de la solution ???
Je débute dans ce genre de programmation (Serveur client) aussi j'ai besoin de bons conseils. Et je ne manquerai pas de relire vos tutos. Je n'ai pas pu télécharger le code exemple de votre tuto en format txt.
Grand merci à vous d'avance
Partager