>> And, how can I know what kind of compiler, e.g. gcc, to be used in VS.net?

um, no, use VS.net.

>> Do you mean I need to write my own library? If so, yes, I am planning to write the library.

no, just realize that not every platform will support you're programs. most systems support the Unix-style socket API though, so you may want to stick pretty close to that spec. the Windows API for socket programming (mostly) supports the Unix functions and extends it further with their own set of functions. for the oddball system that doesn't support either one, you'll either have to locate a library for that platform or, yes, write your own. but that probably won't be the case.

>> For network programming by C language, should I choose Win32 kind of project?

not necessarily. just include winsock.h and link to the lib binary (see you're compiler doc's for that). for Dev-C++ for instance, the lib file is 'libwsock32.a'.