I am currently using code::blocks but i am experinsing trouble trying to link the ws2_32.lib and other libraries. I tried visual studio express but it doesnt work with me. What are some good FREE c++ compilers that have very easy library linking and are rather user-friendly and that i can use to build network programs in.
The problems you are reporting is not a matter of compiler issues, it is simply the fact that you don't understand that code that is built and made to link to MSVC compilers cannot link with code that you compile with GCC (used by CodeBlocks, through the MinGW port of the Unix-based GCC compiler).
As far as having a compiler that makes everything easy, well, you are not going to get that, not under Windows. There are only a few good compilers (ICC, MSVC, GCC, CLang, Comeau, BCB, etc.) and they all use either GCC's linking standard (which is the POSIX standard (as in Unix/Linux)), or they use MSVC's linking standard, or they use their one (like BCB), and none will be easy to work with, because Windows is a crappy development environment.
Things related to this will get easier as you get to understand how the whole process works (building, compilation, linking, loading, etc.). This is just something you need to learn, it is part of the technical details to know. Once you know them, you won't try to do outlandish things like linking a .lib file to a GCC project.