diff options
Diffstat (limited to 'src/server.c')
| -rw-r--r-- | src/server.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server.c b/src/server.c index d13945f..d2ed0e5 100644 --- a/src/server.c +++ b/src/server.c @@ -91,7 +91,17 @@ int main(int argc, char** argv) { unsigned opcode = hdr[0] & 0x0F; unsigned len = hdr[1] & 0x7F; - if (opcode == 0x8) break; + if (opcode == 0x8) { + unsigned char close_frame[2] = {0x88, 0x00}; + send(client, close_frame, 2, 0); + break; + } + + if (opcode == 0x9) { + unsigned char pong[2] = {0x8A, 0x00}; + send(client, pong, 2, 0); + continue; + } if (len >= 126) break; unsigned char mask[4]; |
