Je suis en train d'écrire une application consoleAcceptTcpClientAsync n'attend pas la réponse
_mainListener = new TcpListener(new IPEndPoint(IPAddress.Any, 5000));
_mainListener.Start();
try
{
while (true)
{
TcpClient client = await _mainListener.AcceptTcpClientAsync();
client.ReceiveTimeout = 60000;
WaitForData(client);
}
}
catch (Exception ex)
{
StartListening();
}
d'application est immédiatement résilié juste après la
TcpClient client = await _mainListener.AcceptTcpClientAsync();
Je sais qu'il n'y a pas de problème de connexion au port 5000 cause AcceptTcpClient fonctionne contrairement à la méthode Async, il va à WaitForData avec une réponse valide. J'ai besoin d'utiliser Async parce que l'application se connectera à plusieurs ips. Qu'est-ce que je rate?
Merci à l'avance ..
si le AcceptTcpClient fonctionne - cela suggère une erreur de logique, car le code non asynchrone acceptera encore plus d'une connexion. – BugFinder
Oui, il accepte plusieurs connexions mais attend que l'une des connexions soit fermée avant de continuer à fonctionner sur l'autre – xenep
Donc, vous passez à un thread .. et revenez en boucle. Même à votre manière c'est la même chose, pour la plupart .. – BugFinder