begin process at 2012 02 11 11:11:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Adresse MAC


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

Adresse MAC

mercredi 9 novembre 2005 à 15:12:48 | Adresse MAC

Jeff_Trek

Comment récupère-t-on l'adresse matérielle d'une carte réseau (Adresse MAC) et comment la passe-t-on en paramètre dans une socket ?



Jeff.
mercredi 9 novembre 2005 à 15:21:07 | Re : Adresse MAC

DeAtHCrAsH

Qu'est ce que tu entends par passer en paramètres une adresse MAC a un socket ?

Shell
mercredi 9 novembre 2005 à 15:37:13 | Re : Adresse MAC

Jeff_Trek

Salut,

Si j'ai bien compris, comme j'ai 2 cartes reseaux, je recois les infos par socket IP d'une carte et je dois les renvoyer via socket vers une autre carte reseau.

Il faut que je passe en parametre l'adresse MAC de mes carte reseau avant de creer ma socket, non ? OU bien les adresse IP et port TCP suffisent ? Si oui comment faire ?

merci d'avance.


Jeff.
mercredi 9 novembre 2005 à 15:53:28 | Re : Adresse MAC

DeAtHCrAsH

Pas la peine de tes adresses MAC.
Il te faut juste les adresses IP de tes cartes réseaux. Pour le port tout dépend de ton choix après.

Shell
mercredi 9 novembre 2005 à 18:28:19 | Re : Adresse MAC

Jeff_Trek

Alors dans ce cas comment je fais pour associé mon adresse IP de la carte à la socket  (Serveur)

Voici mon code :

/*************************************************/
void Fonction_Thread_Serveur(LPVOID param)
/*************************************************/
{
 char strTaille[20];
 //char *Message_Emis;
 int intTailleMessage;
 SOCKET Desc_Socket_Locale;
 int fin=FALSE;
 Desc_Socket_Locale=(SOCKET)param;

 while(!fin)
 {
  
  //printf("Reception message : %s",Message_Francais_A_Emettre);
 
  if (Message_Francais_A_Emettre!=NULL)
  {
    printf("trame envoyee = %s\n",Message_Francais_A_Emettre);

  //size_t intTailleMessage = sizeof(Message_Emis);  
  intTailleMessage = strlen(Message_Francais_A_Emettre);    
  send(Desc_Socket_Locale,Message_Francais_A_Emettre,intTailleMessage ,0);   
  _itoa(intTailleMessage ,strTaille,10);
  //MessageBox(NULL,strTaille,"Taille de la trame",0);
  Message_Francais_A_Emettre=NULL;
  Sleep(5000);
  //getch();
  // GT Mis a vrai en temporaire ->
  }
  //fin=TRUE;
  // <- GT Mis a vrai en temporaire

 }
 closesocket(Desc_Socket_Locale);
}


/*************************************************/
BOOL DemarreServeurFrancais(void)
/*************************************************/
{
 int Code_Retour;
 SOCKET Desc_Socket_Connection;
 SOCKADDR_IN Adresse_Socket_Connection;
 WORD wVersionRequested;
 WSADATA wsaData;

 wVersionRequested=MAKEWORD(1,1);

 Code_Retour=WSAStartup(wVersionRequested,&wsaData);

 if(Code_Retour!=0)
 {
  perror("WSAStartup\t");
  //getch();
  WSACleanup();
  exit(errno);
 }
 printf("la version supportee est : %d.%d\n",
  LOBYTE(wsaData.wHighVersion),
  HIBYTE(wsaData.wHighVersion)
  );

 Desc_Socket_Connection=socket
  (
  AF_INET,
  SOCK_STREAM,
  0
  );

  printf("valeur de la socket = %d\n",Desc_Socket_Connection);

  ZeroMemory(&Adresse_Socket_Connection,sizeof(Adresse_Socket_Connection));
  Adresse_Socket_Connection.sin_family=AF_INET;
  Adresse_Socket_Connection.sin_port=htons(Spationav->intPortTCP);

  printf("Port TCP Client SPATIONAV : %d\n",Spationav->intPortTCP);

 Code_Retour=bind
  (
  Desc_Socket_Connection,
  (struct sockaddr*)&Adresse_Socket_Connection,
  sizeof(Adresse_Socket_Connection)
  );

 if(Code_Retour!=0)
 {
  perror("bind\t");
  //getch();
  closesocket(Desc_Socket_Connection);
  WSACleanup();
  exit(errno);
 }
 Code_Retour=listen(Desc_Socket_Connection,Nb_Max_de_Client);
 if(Code_Retour!=0)
 {
  perror("listen\n");
  WSACleanup();
  exit(errno);
 }
 printf("serveur Francais en attente d'une connection d'un client style SPATIONAV \n\n");
 //printf("***************arret du serveur par<CTRL><C>**************\n\n");

 //while(TRUE)
 //do
 {
  SOCKET * pt_Nouveau_Socket_Serveur;
  SOCKADDR_IN Adresse_Socket_Cliente;
  int Longueur_Adresse;
  HANDLE hthread;
  DWORD threadID;


  pt_Nouveau_Socket_Serveur = new SOCKET;

  Longueur_Adresse = sizeof(Adresse_Socket_Cliente);

  *pt_Nouveau_Socket_Serveur=accept
   (
   Desc_Socket_Connection,
   (struct sockaddr*)&Adresse_Socket_Cliente,
   &Longueur_Adresse
   );
  printf("connection accepte depuis le port client %d\n",
   ntohs(Adresse_Socket_Cliente.sin_port));
  hthread=CreateThread
   (
   NULL,
   0,
   (LPTHREAD_START_ROUTINE)Fonction_Thread_Serveur,
   (LPVOID)*pt_Nouveau_Socket_Serveur,
   0,
   &threadID
   );


 } 
 //}while(TRUE);

 return (0);
}

Merci d'avance pour savoir comment cela est possible

Jeff.



Cette discussion est classée dans : mac, adresse


Répondre à ce message

Sujets en rapport avec ce message

Recuperation adresse MAC des machines d un reseau [ par sicakmustafa ] Je voudrais récupérer les adresses MAC se trouvant dans le meme réseau (LAN), mais je n'ai pas trouver d'appels systèmes qui fait cela.Pouvez-vous m'a Adresse MAC [ par none77 ] Bonjour,j'aimerais savoir s'il est possible de récupérer l'adresse MAC d'un pc distant sur un réseau local.Merci,None. Obtenir adress mac local + ca marche à moitié.... [ par emmanuel9 ] Bonjour, J'aurais souhaité récupéré l'adresse mac de ma machine, j'ai essayé le code suivant (c++ managé)String*  machineMacAddress = "";ManagementCla Obtenir l'adresse MAC d'une IP [ par metos ] Bonjour à tous,     J'ai une adresse IP, et je souhaiterais obtenir l'adresse MAC. Comment peut-on le faire en C?Merci d'avancemetos Trouver l'adresse mac d'une connection à partir du serveur [ par wizard512 ] Bonjour,   Je souhaiterais savoir si quelqu'un s'aurais comment  récupéré l'adresse mac d'un programme client se connectant sur  un p Obtenir une mac adresse en c++ [ par Xantra ] Bonjour,Je cherche un code permettant de récupérer la mac adresse de la carte réseau numéro 1 d'un pc. Après une journée de recherche je commence a cr Magic Packet [ par jerem3000 ] Bonjour, Je recherche des information sur le Magic Packet ( pour allumer a distance les pc compatible a partir de leur adresse mac ) Je sais que plei comment changer l'affichage des adresses mac par des adresses ip pour la map de ntop [ par hama22750 ] code source de ntop le contenu d'une case mémoire dont on connait son adresse [ par tahsgh ] Bonjour, pouvez vous me donnez un outil (commande Linux, code en C, code en assembleur...) qui permet d'extraire le contenu d'une case mémoire dont on


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,825 sec (4)

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