fopen() can only open certain streams and protocols (file, stdin, http etc). With fsockopen() you can customise everything you're requesting from or posting to the other party, even write IRC bots etc, since it's a socket. There's an awesome head-first guide on sockets: http://www.tuxradar.com/practicalphp/15/1/0