If i have a socket server implemented by C++ on UNIX, can i receive the message using socket client implemented by JAVA on Windows?
Yes. Sockets are a lower level mechanism, and any language can talk to another one if they both support sockets
Yes,of course. But you should use same protocol and port A socket is one end-point of a two-way communication link between two programs running on the network. http://www.developerzone.biz/index.php?option=com_content&task=view&id=94&Itemid=36
In this case it should not be an issue, but keep in mind that Intel/Windows and Unix - usually not in Intel - use different binary encoding.
This is very easy to take care with NIO, but a bit more involved with regular Java sockets.