J'essaye de tester un peu comm. code sur TCP en C#. J'ai créé un fil rapide qui tient debout un TcpListener. Chaque fois que le client TcpClient essaie de se connecter, j'obtiens une exception "Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est normalement autorisée". Pouvez-vous ne pas héberger sur et se connecter au même port dans le même processus?Connexion à un TcpListener sur un thread différent, même processus
[Test]
public void Foo()
{
Thread listenerThread = new Thread(TcpListenerThread);
listenerThread.Start();
Thread.Sleep(5000);
TcpClient client = new TcpClient(new IPEndPoint(IPAddress.Loopback, 1234));
}
private void TcpListenerThread()
{
TcpListener listener = new TcpListener(IPAddress.Any, 1234);
listener.Start();
TcpClient socket = listener.AcceptTcpClient();
StreamWriter writer = new StreamWriter(socket.GetStream());
writer.Write(File.ReadAllBytes("../../random file.txt"));
}
C'était tout, merci! – mattmck
Ou le ctor TcpClient vide et utilisez la méthode TcpClient.Connect – tommed