J'essaie de me connecter à un capteur en utilisant le réseau, l'IP du capteur est 192.168.2.44
sur le port 3000;
Mon code:
byte[] byteReadStream = null; // holds the data in byte buffer
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("192.168.2.44"), 3000);//listen on all local addresses and 8888 port
TcpListener tcpl = new TcpListener(ipe);
while (true)
{
//infinite loop
tcpl.Start(); // block application until data and connection
TcpClient tcpc = tcpl.AcceptTcpClient();
byteReadStream = new byte[tcpc.Available]; //allocate space
tcpc.GetStream().Read(byteReadStream, 0, tcpc.Available);
Console.WriteLine(Encoding.Default.GetString(byteReadStream) + "\n");
}
Mais quand j'exécute ce code, j'ai cette erreur:
L'adresse demandée n'est pas valide dans son contexte
Utilisation IPAddress.Any
écouter. Cela semble être votre objectif:
//listen on all local addresses
L'adresse d'écoute que vous avez spécifiée n'est pas valide pour une raison quelconque. Il n'est pas nécessaire de spécifier une adresse numérique.
TcpListener
écoute les connexions depuis TCP client réseau, sur un port donné sur votre machine locale Autrement dit, pour les connexions entrantes . Votre code agira en quelque sorte comme un "serveur".
L'adresse demandée n'est pas valide dans son contexte
Cela signifie simplement que l'adresse IP donnée n'est utilisée par aucune interface réseau de votre machine.
Utilisation IPAddress.Any
pour écouter sur n'importe quelle adresse IP (c'est-à-dire interface réseau).
Cependant, il se peut que vous deviez vous connecter au capteur (sur le port 3000), et non l'inverse.
EDIT: La nouvelle exception vous indique simplement que deux applications essaient d'écouter la même combinaison interface/port. Avez-vous deux instances en cours d'exécution en même temps?