I have a server browser that downloads a list of server ip's from a website. It works fine for most people, but some individuals are having problems -- getting error codes like "WSAECONNABORTED". I whipped up a test app with libCURL, and that works, but I'm trying to keep the bloat down as much as possible (and libcurl like quadrouples the size of my executable). I followed through the code to see what curl did differently, and the key thing I noticed was that it used IPPROTO_IP for its call to socket() while I was using IPPROTO_TCP. Could somebody explain the difference between the two?