Ho scritto un server TCPIP che implementa un FileSystemWatcher e riempie una coda con i dati analizzati dai nuovi file acquisiti da FSW.Devo chiudere un socket (TCPIP) dopo ogni transazione?
Un singolo client si connetterà a questo server e richiederà i dati dalla coda (nessun altro client dovrà connettersi in qualsiasi momento). Se non ci sono dati, il client attenderà (1 secondo) e riproverà.
Sia il client che il server sono scritti in modo asincrono - la mia domanda è: il client dovrebbe creare un nuovo socket per ogni transazione (nel ciclo while) o lasciare il socket aperto (fuori dal ciclo while)?
client.Connect()
while(bCollectData)
{
... communicate ...
Thread.Sleep(1000);
}
client.Shutdown(SocketShutdown.Both);
client.Close();