Tôi đã viết một máy chủ TCPIP thực hiện một FileSystemWatcher và điền vào một hàng đợi với dữ liệu được phân tích cú pháp từ các tệp mới được FSW thu thập.Tôi có nên đóng một ổ cắm (TCPIP) sau mỗi giao dịch không?
Một khách hàng sẽ kết nối với máy chủ này và yêu cầu dữ liệu từ hàng đợi (không có ứng dụng khách nào khác sẽ cần kết nối bất kỳ lúc nào). Nếu không có dữ liệu nào tồn tại, khách hàng sẽ đợi (1 giây) và thử lại.
Cả khách và máy chủ đều được viết không đồng bộ - câu hỏi của tôi là: khách hàng nên tạo một ổ cắm mới cho mỗi giao dịch (bên trong vòng lặp while) hay chỉ để mở ổ cắm (bên ngoài vòng lặp while)?
client.Connect()
while(bCollectData)
{
... communicate ...
Thread.Sleep(1000);
}
client.Shutdown(SocketShutdown.Both);
client.Close();