I am appearing for the microsoft exam 70-486. While going through the dumps I came across the below question

You are developing an ASP.NET MVC application that provides instant messaging capabilities to customers.

You have the following requirements:

1. Messages must be able to be sent and received simultaneously.
2. Latency and unnecessary header data must be eliminated.
3. The application must comply with HTML5 standards.

You need to design the application to meet the requirements.
What should you do?

A. Configure polling from the browser.

B. Implement long-running HTTP requests.

C. Implement WebSockets protocol on the client and the server.

D. Instantiate a MessageChannel object on the client.

Now I am confused between C and D options. On the web, most of the people are saying C is the answer but as far as I know it won't satisfy the 1st requirement
"Messages must be able to be sent and received simultaneously". 

Any help would be appreciable .
Thankyou