yup - your app won't create individual processes to handle your winsock events so you will get blocking. You would need to farm out your working to seperate active exe's. Like Si suggests there is a nice theading-esque example knocking around so take a look and have a kick around with that