Bonjour à tous.
J'ai un petit pb sur les connexions socket en c#
J'ai un client qui se connecte sur un serveur (TCP, synchrone) via le code suivant :
Code :
- // Creation du IpEndPoint
- IPEndPoint myIpEndPoint = new IPEndPoint( GetIPfromDNS(ServerInfo)[0],ServerPort);
- // Init de la connexion
- this.SocketClient.BeginConnect(myIpEndPoint,new AsyncCallback(ConnectCallback),this.SocketClient);
|
La connexion est OK, les echanges se passent bien, etc etc ...
Maintenant, mon probleme est que si l'IP et le PORT du serveur sont bien défini, mon port d'envoi local est quant à lui aléatoire. Je n'arrive pas à en spécifier un de mon choix (même avec un bind !).
Savez vous comment forcer un port donnée au niveau client pour l'envoi des données ?
Merci d'avance !
PS : avec le bind j'ai essayé la chose suivante mais avec cette version je n'arrive plus à me connecter au serveur
Code :
- // Initialisation de la socket de connexion sur le server
- this.SocketClient = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
- // Local EP
- System.Net.IPEndPoint myLocalEP = new IPEndPoint(GetIPfromDNS("127.0.0.1" )[0],4555);
- SocketClient.Bind(myLocalEP);
- // Remote EP
- IPEndPoint myIpEndPoint = new IPEndPoint( GetIPfromDNS(ServerInfo)[0],ServerPort);
- // Connexion
- this.SocketClient.BeginConnect(myIpEndPoint,new AsyncCallback(ConnectCallback),this.SocketClient);
|
Je me doute bien que je dois me mélanger les pinceaux dans les bind et EndPoint mais je n'arrive pas à m'en dépatouiller
Message édité par Sagoth le 27-06-2006 à 18:59:57