I finally found the answer.
Charles 3.11.2 works perfectly with WebSocket.
I use socketIO, so I've already seen http requests sent during the negotiation phase, but I missed websockets traffic.
In the beginning, socketIO try to use polling then switches to use websockets.
The websocket traffic is visible when you go to the request with status: "Sending request body" which is actually wss:// request.
You even have a dedicated tab for this kind of traffic. The rest of messages will appear right there.
PS1. Ensure you're connected to socket properly then it appears in Charles.
PS2. I suggest using socketIO it's a great enhancement for full-duplex traffic like websockets.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…