kernel network client

Dear friends
Hello

I want to write a simple network client that connect to a remote server
program(simple http server for example) and send files and data to it and
receive files or data from it.

As I saw the DDK documentation 2008 , for windows vista , the kernel socket
has defined.Should I use TDI to implement my driver in windows xp?

I am confused about protocol implementation in kernel mode.what should I do
for file trasfering?

Please help me
Cheers
Jack