Simplified listener to use plain socket/select API