virtual sockets