Some user-level socket code can be found here.

Working with Socket can be found here.

The code listed here by Ankan, works for me!

Following is a great example for an ftp client in kernel. However, sock_alloc symbol has been removed in 2.6.10. Watch out for it.