HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: AGFORzywpbZ3hZoB9+2DtiR/z60=
So the read keaps listening, keeps getting messages, but always with 2 weird bytes (different, this time, not 0x81 and 0x03), until the server times out the socket because it's not responding to heartbeats (because php is stuck in read()
's while loop).
I added some debug outputs, so I could see what's in the buffer, ord values (in hex) of the current character and when new data are pulled to the buffer. Here is the output:
- debug - HTTP/1.1 101 Switching Protocols
- debug - Upgrade: websocket
- debug - Connection: Upgrade
- debug - Sec-WebSocket-Accept: AGFORzywpbZ3hZoB9+2DtiR/z60=
- debug - Buffer:
- debug - Read ��1:: to buffer
- debug - Buffer: ��1::
- debug - 81
- debug - Buffer: �1::
- debug - 3
- debug - Buffer: 1::
- debug - 31
- debug - Buffer: ::
- debug - 3a
- debug - Buffer: :
- debug - Read ��2:: to buffer
- debug - Buffer: :��2::
- debug - 3a
- debug - Buffer: ��2::
- debug - 81
- debug - Buffer: �2::
- debug - 3
- debug - Buffer: 2::
- debug - 32
- debug - Buffer: ::
- debug - 3a
- debug - Buffer: :
- debug - Read �,5:::{"name":"ringing","args":["voip1-ipex"]} to buffer
- debug - Buffer: :�,5:::{"name":"ringing","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: �,5:::{"name":"ringing","args":["voip1-ipex"]}
- debug - 81
- debug - Buffer: ,5:::{"name":"ringing","args":["voip1-ipex"]}
- debug - 2c
- debug - Buffer: 5:::{"name":"ringing","args":["voip1-ipex"]}
- debug - 35
- debug - Buffer: :::{"name":"ringing","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: ::{"name":"ringing","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: :{"name":"ringing","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: {"name":"ringing","args":["voip1-ipex"]}
- debug - 7b
- debug - Buffer: "name":"ringing","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: name":"ringing","args":["voip1-ipex"]}
- debug - 6e
- debug - Buffer: ame":"ringing","args":["voip1-ipex"]}
- debug - 61
- debug - Buffer: me":"ringing","args":["voip1-ipex"]}
- debug - 6d
- debug - Buffer: e":"ringing","args":["voip1-ipex"]}
- debug - 65
- debug - Buffer: ":"ringing","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: :"ringing","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: "ringing","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: ringing","args":["voip1-ipex"]}
- debug - 72
- debug - Buffer: inging","args":["voip1-ipex"]}
- debug - 69
- debug - Buffer: nging","args":["voip1-ipex"]}
- debug - 6e
- debug - Buffer: ging","args":["voip1-ipex"]}
- debug - 67
- debug - Buffer: ing","args":["voip1-ipex"]}
- debug - 69
- debug - Buffer: ng","args":["voip1-ipex"]}
- debug - 6e
- debug - Buffer: g","args":["voip1-ipex"]}
- debug - 67
- debug - Buffer: ","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: ,"args":["voip1-ipex"]}
- debug - 2c
- debug - Buffer: "args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: args":["voip1-ipex"]}
- debug - 61
- debug - Buffer: rgs":["voip1-ipex"]}
- debug - 72
- debug - Buffer: gs":["voip1-ipex"]}
- debug - 67
- debug - Buffer: s":["voip1-ipex"]}
- debug - 73
- debug - Buffer: ":["voip1-ipex"]}
- debug - 22
- debug - Buffer: :["voip1-ipex"]}
- debug - 3a
- debug - Buffer: ["voip1-ipex"]}
- debug - 5b
- debug - Buffer: "voip1-ipex"]}
- debug - 22
- debug - Buffer: voip1-ipex"]}
- debug - 76
- debug - Buffer: oip1-ipex"]}
- debug - 6f
- debug - Buffer: ip1-ipex"]}
- debug - 69
- debug - Buffer: p1-ipex"]}
- debug - 70
- debug - Buffer: 1-ipex"]}
- debug - 31
- debug - Buffer: -ipex"]}
- debug - 2d
- debug - Buffer: ipex"]}
- debug - 69
- debug - Buffer: pex"]}
- debug - 70
- debug - Buffer: ex"]}
- debug - 65
- debug - Buffer: x"]}
- debug - 78
- debug - Buffer: "]}
- debug - 22
- debug - Buffer: ]}
- debug - 5d
- debug - Buffer: }
- debug - Read �%5:::{"name":"busy","args":["vr1b74"]} to buffer
- debug - Buffer: }�%5:::{"name":"busy","args":["vr1b74"]}
- debug - 7d
- debug - Buffer: �%5:::{"name":"busy","args":["vr1b74"]}
- debug - 81
- debug - Buffer: %5:::{"name":"busy","args":["vr1b74"]}
- debug - 25
- debug - Buffer: 5:::{"name":"busy","args":["vr1b74"]}
- debug - 35
- debug - Buffer: :::{"name":"busy","args":["vr1b74"]}
- debug - 3a
- debug - Buffer: ::{"name":"busy","args":["vr1b74"]}
- debug - 3a
- debug - Buffer: :{"name":"busy","args":["vr1b74"]}
- debug - 3a
- debug - Buffer: {"name":"busy","args":["vr1b74"]}
- debug - 7b
- debug - Buffer: "name":"busy","args":["vr1b74"]}
- debug - 22
- debug - Buffer: name":"busy","args":["vr1b74"]}
- debug - 6e
- debug - Buffer: ame":"busy","args":["vr1b74"]}
- debug - 61
- debug - Buffer: me":"busy","args":["vr1b74"]}
- debug - 6d
- debug - Buffer: e":"busy","args":["vr1b74"]}
- debug - 65
- debug - Buffer: ":"busy","args":["vr1b74"]}
- debug - 22
- debug - Buffer: :"busy","args":["vr1b74"]}
- debug - 3a
- debug - Buffer: "busy","args":["vr1b74"]}
- debug - 22
- debug - Buffer: busy","args":["vr1b74"]}
- debug - 62
- debug - Buffer: usy","args":["vr1b74"]}
- debug - 75
- debug - Buffer: sy","args":["vr1b74"]}
- debug - 73
- debug - Buffer: y","args":["vr1b74"]}
- debug - 79
- debug - Buffer: ","args":["vr1b74"]}
- debug - 22
- debug - Buffer: ,"args":["vr1b74"]}
- debug - 2c
- debug - Buffer: "args":["vr1b74"]}
- debug - 22
- debug - Buffer: args":["vr1b74"]}
- debug - 61
- debug - Buffer: rgs":["vr1b74"]}
- debug - 72
- debug - Buffer: gs":["vr1b74"]}
- debug - 67
- debug - Buffer: s":["vr1b74"]}
- debug - 73
- debug - Buffer: ":["vr1b74"]}
- debug - 22
- debug - Buffer: :["vr1b74"]}
- debug - 3a
- debug - Buffer: ["vr1b74"]}
- debug - 5b
- debug - Buffer: "vr1b74"]}
- debug - 22
- debug - Buffer: vr1b74"]}
- debug - 76
- debug - Buffer: r1b74"]}
- debug - 72
- debug - Buffer: 1b74"]}
- debug - 31
- debug - Buffer: b74"]}
- debug - 62
- debug - Buffer: 74"]}
- debug - 37
- debug - Buffer: 4"]}
- debug - 34
- debug - Buffer: "]}
- debug - 22
- debug - Buffer: ]}
- debug - 5d
- debug - Buffer: }
- debug - Read �)5:::{"name":"busy","args":["voip1-ipex"]} to buffer
- debug - Buffer: }�)5:::{"name":"busy","args":["voip1-ipex"]}
- debug - 7d
- debug - Buffer: �)5:::{"name":"busy","args":["voip1-ipex"]}
- debug - 81
- debug - Buffer: )5:::{"name":"busy","args":["voip1-ipex"]}
- debug - 29
- debug - Buffer: 5:::{"name":"busy","args":["voip1-ipex"]}
- debug - 35
- debug - Buffer: :::{"name":"busy","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: ::{"name":"busy","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: :{"name":"busy","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: {"name":"busy","args":["voip1-ipex"]}
- debug - 7b
- debug - Buffer: "name":"busy","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: name":"busy","args":["voip1-ipex"]}
- debug - 6e
- debug - Buffer: ame":"busy","args":["voip1-ipex"]}
- debug - 61
- debug - Buffer: me":"busy","args":["voip1-ipex"]}
- debug - 6d
- debug - Buffer: e":"busy","args":["voip1-ipex"]}
- debug - 65
- debug - Buffer: ":"busy","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: :"busy","args":["voip1-ipex"]}
- debug - 3a
- debug - Buffer: "busy","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: busy","args":["voip1-ipex"]}
- debug - 62
- debug - Buffer: usy","args":["voip1-ipex"]}
- debug - 75
- debug - Buffer: sy","args":["voip1-ipex"]}
- debug - 73
- debug - Buffer: y","args":["voip1-ipex"]}
- debug - 79
- debug - Buffer: ","args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: ,"args":["voip1-ipex"]}
- debug - 2c
- debug - Buffer: "args":["voip1-ipex"]}
- debug - 22
- debug - Buffer: args":["voip1-ipex"]}
- debug - 61
- debug - Buffer: rgs":["voip1-ipex"]}
- debug - 72
- debug - Buffer: gs":["voip1-ipex"]}
- debug - 67
- debug - Buffer: s":["voip1-ipex"]}
- debug - 73
- debug - Buffer: ":["voip1-ipex"]}
- debug - 22
- debug - Buffer: :["voip1-ipex"]}
- debug - 3a
- debug - Buffer: ["voip1-ipex"]}
- debug - 5b
- debug - Buffer: "voip1-ipex"]}
- debug - 22
- debug - Buffer: voip1-ipex"]}
- debug - 76
- debug - Buffer: oip1-ipex"]}
- debug - 6f
- debug - Buffer: ip1-ipex"]}
- debug - 69
- debug - Buffer: p1-ipex"]}
- debug - 70
- debug - Buffer: 1-ipex"]}
- debug - 31
- debug - Buffer: -ipex"]}
- debug - 2d
- debug - Buffer: ipex"]}
- debug - 69
- debug - Buffer: pex"]}
- debug - 70
- debug - Buffer: ex"]}
- debug - 65
- debug - Buffer: x"]}
- debug - 78
- debug - Buffer: "]}
- debug - 22
- debug - Buffer: ]}
- debug - 5d
- debug - Buffer: }