By default the server echoes messages to all clients. The fancy.GraphState client was never calling ws.recv() And hence a buffer was filling up somewhere And we were hanging. Adding a ws.recv() fixed the problem.