Is it possible to code the client application using winsock API so it can run for windows but the server with berkeley socket API so it can run for linux. I mean will they be able to establish a solid connection even though the socket API's and OS's are different. And is linux and unix the same thing?

Yes that will work, and its done like that all the time.

>> And is linux and unix the same thing?
No. click here

> I mean will they be able to establish a solid connection even though the socket API's and OS's are different.
You mean the way the web works at present, across a whole plethora of different platforms?

You mean the way the web works at present, across a whole plethora of different platforms?

I think it is a miracle that it works at all :)

ok thanks for the info, very helpful.