Dead Psycho Pika pika | Bien le bonjour, Je suis en train de coder une application pour pocket pc devant analyser des trames udp.
J'ai trouvé un morceau de code sur le net.
Le programme trouve d'abord les adresses ip possible à analyser. Il suffit donc d'en sélectionner et de cliquer sur start.
Et là message d'erreur: "La valeur spécifiée n'est pas valide. Nom du paramètre: optionValue." J'ai coder la même application sur pc (à quelques détails près vu le CF) et il s'avère qu'il marche très bien quand on est connecté en Ethernet, mais en Wifi pareil que sur ppc.
Voilà la partie d'où vient surement le problème:
Code :
- private void cmd_start_Click(object sender, EventArgs e)
- {
- if (InterfaceComboBox.Text == "" )
- {
- MessageBox.Show("Sélectionnez l'adresse à analyser." );
- return;
- }
- try
- {
- if (!bContinueCapturing)
- {
- // on commence à analyser les packets
- cmd_start.Text = "&Stop";
- bContinueCapturing = true;
- mainSocket = new Socket(AddressFamily.InterNetwork,
- SocketType.Raw, ProtocolType.IP);
- //le socket doit analyser l'adresse IP sélectionnée
- mainSocket.Bind(new IPEndPoint(IPAddress.Parse(InterfaceComboBox.Text), 0));
- //socket options
- mainSocket.SetSocketOption(SocketOptionLevel.IP,
- SocketOptionName.HeaderIncluded,
- true);
-
- byte[] byTrue = new byte[4] { 1, 0, 0, 0 };
- byte[] byOut = new byte[4];
- //Socket.IOControl = WSAIoctl fonction Winsock 2
- int SIO_RCVALL = unchecked((int)0x98000001);
- mainSocket.IOControl(SIO_RCVALL, //Equivalent to IOControlCode constant (ne passe pas dans le CF) probleme ??
- byTrue,
- byOut);
- //On commence à recevoir les packets
- mainSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
- new AsyncCallback(OnReceive), null);
- }
- else
- {
- cmd_start.Text = "&Start";
- bContinueCapturing = false;
- //Pour arrêter la capture des packets on stop le socket
- mainSocket.Close();
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message); //--> message d'erreur vient de là ?
- }
- }
|
Je ne sais pas vraiment si l'erreur vient de cette partie là
Mais je ne comprend pas pourquoi ca marcherait en Ethernet et pas en Wifi ?
Surtout qu'en wifi il trouve qu'en même les différentes adresse ip possibles à analyser.
Je commence tout juste la c# (et de même pour la programmation sur ppc), si quelqu'un peut me venir en aide je le remercie d'avance Merci et bonne journée Message édité par Dead Psycho le 24-06-2008 à 08:11:52
|