Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1042 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C] Socket UDP connaitre le port source ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Socket UDP connaitre le port source ???

n°419202
k-id
Posté le 06-06-2003 à 11:45:45  profilanswer
 

Salut !
 
J'ai de nouveau un petit pb avec mes sockets UDP
Voilà j'aimerais connaitre le port source lorsque que je crée une socket UDP.
 
Dans le code on précise l'adresse Ip et le port cible mais ya t'il moyen d'imposer le port source ou alors de le récuperer par le descripteur de la socket  :??:  
 
des idées ou la solution ??
 
merci

Code :
  1. #include<stdio.h>
  2. #include<winsock2.h>
  3. #pragma comment(lib,"ws2_32.lib" )
  4. void main()
  5. {
  6. WSADATA wsa;
  7. WSAStartup(MAKEWORD(2,0),&wsa);
  8. SOCKET sock;
  9. SOCKADDR_IN sin;
  10. system("TITLE UDP Packet Sender" );
  11. char ip[15]="150.1.0.50";
  12. int i,port=161;
  13. printf("Ip %s\n",ip);
  14. printf("Port : %i\n",port);
  15. sin.sin_family=AF_INET;
  16. sin.sin_addr.s_addr=inet_addr(ip);
  17. sin.sin_port=htons(port);
  18. sock=socket(AF_INET,SOCK_DGRAM,0);
  19. bind(sock,(SOCKADDR*)&sin,sizeof(sin));
  20. char buffer_bridge[40];
  21.        while(1)
  22. {
  23. memset(buffer_bridge,0,sizeof(buffer_bridge));
  24. sendto(sock,buffer_bridge,sizeof(buffer_bridge),0,(SOCKADDR*)&sin,sizeof(sin));
  25. }
  26. }


Message édité par k-id le 06-06-2003 à 11:49:58
mood
Publicité
Posté le 06-06-2003 à 11:45:45  profilanswer
 

n°419437
k-id
Posté le 06-06-2003 à 14:29:22  profilanswer
 

personne n'a une petite idée ? j'y arrive tjs pas...  :cry:

n°420245
xWillow
Posté le 06-06-2003 à 20:52:37  profilanswer
 

tu es sur que ton code est bon la ?
pourquoi tu veux connaitre le port source ?
 
 

Code :
  1. WSADATA wsa;
  2.      WSAStartup(MAKEWORD(2,0),&wsa);
  3.    
  4.      SOCKET sock;
  5.      SOCKADDR_IN sin;

 
genial ton compilo, tu utilises quoi ?


Message édité par xWillow le 06-06-2003 à 20:56:31
n°420256
xWillow
Posté le 06-06-2003 à 20:57:37  profilanswer
 

ah non ok tu compiles en c++ du code c ok

n°420290
mrbebert
Posté le 06-06-2003 à 21:16:38  profilanswer
 

Quand tu fais un bind, tu fixes le port source. Donc tu l'as [:proy]

n°1668697
ChPortos59
Posté le 10-01-2008 à 09:54:44  profilanswer
 

J'ai le même problème :
 
J'envoie une trame en broadcast sur le réseau avec un port destination spécifié.
Des composants réseaux sont censés répondre à cette trame en envoyant la réponse à mon adresse sur le port auquel j'ai envoyé. Je suis donc censé récupérer les trames de réponses sur le même port que celui sur lequel j'ai envoyé.
 
En gros :
- j'ouvre une socket UDP en émission
- j'envoie une trame
- j'ouvre une socket UDP en réception sur le même port que le port d'émission que la socket d'avant
- je reçoit une trame (ou plusieurs) de réponse
 
Problème :
Peut-on spécifier le port d'émission (auquel cas j'utilise le même pour la socket de réception) ?
OU Peut-on récupérer le port d'émission utilisé (auquel cas je peux spécifier le port de réception) ?
 
Je précise que je suis incapable de toucher au composant de l'autre côté (il s'agit d'un Lantronix Xport)
 
Merci d'avance !

n°1668783
ChPortos59
Posté le 10-01-2008 à 12:05:25  profilanswer
 

J'ai trouvé mon problème (en gros il suffit de "binder" la socket, même si on l'utilise comme client)
 
Par contre j'ai un autre problème, mais je vais poster dans un autre post ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C] Socket UDP connaitre le port source ???

 

Sujets relatifs
[C++] Socket UDP - Pb Reception du datagramme[socket] en lecture ou écriture seule
[socket TCP] gestion de la deconnexion d1 client telnetcommunication par port com
Communication port parallèle[perl] Connaitre le nombre d'élément dans un array
[java]Connaitre le nombre d'instance créées d'une même classe?Registres associés au port parallèle
Socket et communication client/serveur 
Plus de sujets relatifs à : [C] Socket UDP connaitre le port source ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR