So, with select and the ISSET macro. This checks to see if the socket descriptor in question has activity on it and if it does then the recv function is called to get that data after it has been sent. So with this there is not an immediate threat with blocking problems, correct? or will I need to set the socket to non-blocking and when i need to recieve something loop until the number of bytes recieved is different and that would be the message?