>In UNIX, what tools including libraries, IDE, and compilers, are used when >developing client/server application running both as a service and GUI?
KDevelop is an IDE similar to MSVC, even with intellisense. But if you
want to be portable to other *NIX than Linux/KDE brand, stay with
gcc and make. (To glue together a project with make, you need a makefile. There are samples on the net, even configuration scripts like configure to setup a project automatically in a given *NIX environment.). Concerning GUI, you may want to take a look at GTK libs; they are easy to program
(
http://www.gtk.org/tutorial/).
For multimedia stuff, use SDL libs - similar to DirectDraw/Sound/Input (yet easier). Even provides OpenGL interface.
For multithreading, search google for POSIX threads.
Network programming: Linux uses Berkeley sockets, just like under win32
(with minor differences).
Note: If you want to have your GUI project compilable under both and win, take a look at Trolltechs' QT and/or wxWindows.
>What books do you recommend for developing client/server applications >in UNIX using C++ that go over subjects such as multithreading, >sychronization, multiple processes, services, and GUI?
You'll find almost anything on the net. Otherwise, O'Reilly has some good books.