add socket.io basic support