L'utilisation d'un .NET TcpClient
si j'ai appelé un BeginRead()
asynchrone sur le flux réseau associé puis-je toujours appeler Write()
sur ce flux sur un autre thread?Est-ce que TcpClient BeginRead/Send est sûr?
Ou dois-je lock()
le TcpClient
dans le code qui est appelé à partir du BeginRead
et le code qui fait l'envoi?
Aussi, si je ferme la TcpClient
avec:
client.GetStream().Close();
client.Close();
Dois-je lock()
sur le TcpClient
ainsi?
Merci j'ai complètement raté cela dans MSDN mon mauvais - je m'excuse. Sur la fin, je suis attraper et gérer l'exception, mais je ne savais pas si c'était douteux alors merci de clarifier c'est ok car ce n'est pas documenté autant que je sache. – iam
Ouais, il est tout à fait normal qu'il lance une exception si vous essayez d'écrire/lire depuis un TcpClient qui a été fermé. Vous verrez cela à travers toutes les API de socket .NET. – Kazar