There is an official Socket.IO specification document, but it doesn't tell you the implementation details of every transport. When implementing a server side of Socket.IO you have to use tcpdump or wireshark to capture packets and actually see what you have to send and receive. So here are the details that I collected when implementing http://github.com/vti/pocketio. First, read the specification