I want to implement a client server application. here is the scenario. Server listens for client 24/7. Server accept request for client and save it in DB for further process. Once processing is done (it may take few hours), Server will response back to client.

in short , client and server listens for each other 24/7.

I want to implement it in C# but i also want that it should be accessibly from all platforms. Also is it possible in WCF?

This is definately possible in WCF. The beauty of WCF is that the endpoint in the server can rely on TCP, HTTP or some other communication protocol and in order to change protocols you only have to manipulate the config file rather than the code itself.

But this doesn't mean that WCF is right for your project, it really depends on what you want to do and how you want to do it. The WCF model creates a Windows service that acts as your server in your scenario, and clients connect to it. This is probably perfect for you since you want it to run all the time, but that is really up to you.

So I guess you need to determine how things will be transported (TCP, HTTP, UDP etc), what format your data will be moved in (XML, CSV, JSON etc) and what exactly needs to be a client (Windows PC, IPhone, Android Tablet etc). These three key questions will help determine whether WCF is the right way to go, or whether you are better off implementing a more traditional client-server architecture.