Sockets

gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 - 18 nov. 2006 à 17:30
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 18 nov. 2006 à 18:14
Bonjour, j'ai un problème avec les sockets. Il me semble que ceci devrait marcher mais il me sort toujours l'erreur l'ordinateur cible a espressement refusée la connexion. Si quelqu'un pouvait me dire qu'est-ce qui cloche car lka je vois pas :P

voici le code du serveur :

public TcpListener Listener;
public Socket Connection;

byte[] ByteBuffer = new byte[200];
string Buffer;

Listener = new TcpListener(System.Net.IPAddress.Any,7701);
Listener.Start();
Connection = Listener.AcceptSocket();

while (true)
{
        Connection.Receive(ByteBuffer);
        Buffer = ByteBuffer.ToString();
        MessageBox.Show(Buffer);
}

et voila celui du client :

Socket Connection;

System.Net.IPAddress Ip=null;
 int Port=0;
try
{
       Ip = System.Net.IPAddress.Parse(txtIP.Text);
       Port = Convert.ToInt32(txtPort.Text);
}
catch(Exception exc)
{
       MessageBox.Show(exc.ToString());
       return;
}
try
{
      Connection = new Socket(AddressFamily.InterNetwork , SocketType.Stream, ProtocolType.Tcp);
      Connection.Connect(new System.Net.IPEndPoint(Ip, Port));
}
catch (Exception exc)
{
       MessageBox.Show(exc.ToString());
        return;
}

Merci a l'avance ...
________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !

5 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
18 nov. 2006 à 17:45
Salut

Ton code devrait fonctionner.
Vérifie : qu'il n'y a pas de firewall qui bloque la connexion, que les ports sont biens routés si ton serveur est derriere un routeur, et que l'ip a laquelle tu essaies de te connecter est la bonne.

Mx
MVP C# 
0
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 1
18 nov. 2006 à 17:59
Je l'ai testé avec 127.0.0.1 et ca ne marche pas .. est-ce que le fdirewall pourrait me bloquer mais en localhost ??

Oui je suis derriere un routeur mais 127.0.0.1 devrait qand meme marcher ..

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
18 nov. 2006 à 18:04
Ouai, 127.0.0.1 marchera meme sans router le port, ainsi que pour tous les postes dans ton reseau, derriere ce routeur.
Pour ce qui est du firewall par contre, faut voir, il faut peut etre le configurer, mais je pense qu'il t'aurait fait une alerte si ca avait etait necessaire.

As-tu essayé de lancer le seveur en dehors de Visual Studio (ou de l'IDE que tu utilises) ?

Mx
MVP C# 
0
gbourgeois0019 Messages postés 152 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 2 juin 2008 1
18 nov. 2006 à 18:07
Oui je vient de l'essayer et ca marche toujours pas !

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
18 nov. 2006 à 18:14
Le plus simple est de partir du début.
Tu ecris ton code en enlevant tout le code inutile, tu gardes juste le code nécessaire pour la connexion (cloté client et coté serveur). Tu mets les adresse IP et port en dur dans le code, et tu essaies de te connecter ainsi. Si ca marche, tu remplaces par ton ancien code (que tu corrigeras). Si ca fonctionne pas,... là ce serait bizarre... si tout est bien configuré sur ton poste, le code devrait marcher.

Mx
MVP C# 
0
Rejoignez-nous