title: Multiplexing with Berkeley Sockets
body: <p>I have a web HTTP/1.1 server implementation that I've written in C++ using Berkeley sockets. I'm looking at implementing support for HTTP/2.0 (or SPDY) which allows for request and response multiplexing:</p>
  
  <p>The binary framing layer in HTTP/2.0 enables full request and response multiplexing, by allowing the client and server to break down an HTTP message into independent frames, interleave them, and then reassemble them on the other end.</p>
  
  <p>My question is as follows; how can I enable HTTP/2.0 (or SPDY) type request and response multiplexing with my already existing HTTP/1.1 program that is writting using the Berkeley Socket API? Perhaps the aformentioned frame multiplexing that is supported by HTTP/2.0 (or SPDY) is already handled by the existing mechanisms in the TCP/IP Stack, or?</p>
  
  <p><strong>Clarification:</strong></p>
  
  <p>I'm specifically interested in the part of multiplexing that <strong>use a single connection to deliver multiple requests and responses in parallel</strong> , I don't understand from the specs just how this is implemented in the application level protocol? Any ideas?</p>