I have a Client-Server application, where the server naturally processes requests in different newly created streams, and the client simply sends and receives data in one stream using Socket. But for example, I send a file that delays the stream and freezes the entire GUI for a few seconds, if not more.
But all the commands I have consist of requests, maybe something will happen to the server or a slow Internet connection and the GUI will fail?
Is it correct to process each button of the client in a separate thread to prevent GUI delay?