|
390 | 390 | define('SWOOLE_WORKER_BUSY', 1); |
391 | 391 | define('SWOOLE_WORKER_IDLE', 2); |
392 | 392 | define('SWOOLE_WORKER_EXIT', 3); |
| 393 | + |
| 394 | +// WebSocket flags. |
| 395 | +define('SWOOLE_WEBSOCKET_FLAG_FIN', 1); |
| 396 | +define('SWOOLE_WEBSOCKET_FLAG_RSV1', 4); |
| 397 | +define('SWOOLE_WEBSOCKET_FLAG_RSV2', 8); |
| 398 | +define('SWOOLE_WEBSOCKET_FLAG_RSV3', 16); |
| 399 | +define('SWOOLE_WEBSOCKET_FLAG_MASK', 32); |
| 400 | +define('SWOOLE_WEBSOCKET_FLAG_COMPRESS', 2); // Used to indicate if a frame is compressed or not. |
| 401 | + |
| 402 | +/* |
| 403 | + * WebSocket connection status. They are used as value of field "websocket_status" in the array returned from method |
| 404 | + * \Swoole\Server::getClientInfo(). |
| 405 | + * |
| 406 | + * @see \Swoole\Server::getClientInfo() |
| 407 | + * @see \Swoole\Server::connection_info() |
| 408 | + */ |
393 | 409 | define('SWOOLE_WEBSOCKET_STATUS_CONNECTION', 1); |
394 | 410 | define('SWOOLE_WEBSOCKET_STATUS_HANDSHAKE', 2); |
395 | 411 | define('SWOOLE_WEBSOCKET_STATUS_ACTIVE', 3); |
396 | 412 | define('SWOOLE_WEBSOCKET_STATUS_CLOSING', 4); |
| 413 | +// Next five constants are kept for backward compatibility. |
| 414 | +define('WEBSOCKET_STATUS_CONNECTION', SWOOLE_WEBSOCKET_STATUS_CONNECTION); |
| 415 | +define('WEBSOCKET_STATUS_HANDSHAKE', SWOOLE_WEBSOCKET_STATUS_HANDSHAKE); |
| 416 | +define('WEBSOCKET_STATUS_FRAME', SWOOLE_WEBSOCKET_STATUS_ACTIVE); |
| 417 | +define('WEBSOCKET_STATUS_ACTIVE', SWOOLE_WEBSOCKET_STATUS_ACTIVE); |
| 418 | +define('WEBSOCKET_STATUS_CLOSING', SWOOLE_WEBSOCKET_STATUS_CLOSING); |
| 419 | + |
| 420 | +// WebSocket opcodes. |
| 421 | +// @see https://datatracker.ietf.org/doc/html/rfc6455#section-11.8 WebSocket Opcode Registry |
397 | 422 | define('SWOOLE_WEBSOCKET_OPCODE_CONTINUATION', 0); |
398 | 423 | define('SWOOLE_WEBSOCKET_OPCODE_TEXT', 1); |
399 | 424 | define('SWOOLE_WEBSOCKET_OPCODE_BINARY', 2); |
400 | 425 | define('SWOOLE_WEBSOCKET_OPCODE_CLOSE', 8); |
401 | 426 | define('SWOOLE_WEBSOCKET_OPCODE_PING', 9); |
402 | 427 | define('SWOOLE_WEBSOCKET_OPCODE_PONG', 10); |
403 | | -define('SWOOLE_WEBSOCKET_FLAG_FIN', 1); |
404 | | -define('SWOOLE_WEBSOCKET_FLAG_RSV1', 4); |
405 | | -define('SWOOLE_WEBSOCKET_FLAG_RSV2', 8); |
406 | | -define('SWOOLE_WEBSOCKET_FLAG_RSV3', 16); |
407 | | -define('SWOOLE_WEBSOCKET_FLAG_MASK', 32); |
408 | | -define('SWOOLE_WEBSOCKET_FLAG_COMPRESS', 2); |
| 428 | +// Next six constants are kept for backward compatibility. |
| 429 | +define('WEBSOCKET_OPCODE_CONTINUATION', SWOOLE_WEBSOCKET_OPCODE_CONTINUATION); |
| 430 | +define('WEBSOCKET_OPCODE_TEXT', SWOOLE_WEBSOCKET_OPCODE_TEXT); |
| 431 | +define('WEBSOCKET_OPCODE_BINARY', SWOOLE_WEBSOCKET_OPCODE_BINARY); |
| 432 | +define('WEBSOCKET_OPCODE_CLOSE', SWOOLE_WEBSOCKET_OPCODE_CLOSE); |
| 433 | +define('WEBSOCKET_OPCODE_PING', SWOOLE_WEBSOCKET_OPCODE_PING); |
| 434 | +define('WEBSOCKET_OPCODE_PONG', SWOOLE_WEBSOCKET_OPCODE_PONG); |
| 435 | + |
| 436 | +// WebSocket status codes. |
| 437 | +// @see https://datatracker.ietf.org/doc/html/rfc6455#section-7.4.1 Status Code Definitions |
409 | 438 | define('SWOOLE_WEBSOCKET_CLOSE_NORMAL', 1000); |
410 | 439 | define('SWOOLE_WEBSOCKET_CLOSE_GOING_AWAY', 1001); |
411 | 440 | define('SWOOLE_WEBSOCKET_CLOSE_PROTOCOL_ERROR', 1002); |
|
418 | 447 | define('SWOOLE_WEBSOCKET_CLOSE_EXTENSION_MISSING', 1010); |
419 | 448 | define('SWOOLE_WEBSOCKET_CLOSE_SERVER_ERROR', 1011); |
420 | 449 | define('SWOOLE_WEBSOCKET_CLOSE_TLS', 1015); |
421 | | -define('WEBSOCKET_STATUS_CONNECTION', 1); |
422 | | -define('WEBSOCKET_STATUS_HANDSHAKE', 2); |
423 | | -define('WEBSOCKET_STATUS_FRAME', 3); |
424 | | -define('WEBSOCKET_STATUS_ACTIVE', 3); |
425 | | -define('WEBSOCKET_STATUS_CLOSING', 4); |
426 | | -define('WEBSOCKET_OPCODE_CONTINUATION', 0); |
427 | | -define('WEBSOCKET_OPCODE_TEXT', 1); |
428 | | -define('WEBSOCKET_OPCODE_BINARY', 2); |
429 | | -define('WEBSOCKET_OPCODE_CLOSE', 8); |
430 | | -define('WEBSOCKET_OPCODE_PING', 9); |
431 | | -define('WEBSOCKET_OPCODE_PONG', 10); |
432 | | -define('WEBSOCKET_CLOSE_NORMAL', 1000); |
433 | | -define('WEBSOCKET_CLOSE_GOING_AWAY', 1001); |
434 | | -define('WEBSOCKET_CLOSE_PROTOCOL_ERROR', 1002); |
435 | | -define('WEBSOCKET_CLOSE_DATA_ERROR', 1003); |
436 | | -define('WEBSOCKET_CLOSE_STATUS_ERROR', 1005); |
437 | | -define('WEBSOCKET_CLOSE_ABNORMAL', 1006); |
438 | | -define('WEBSOCKET_CLOSE_MESSAGE_ERROR', 1007); |
439 | | -define('WEBSOCKET_CLOSE_POLICY_ERROR', 1008); |
440 | | -define('WEBSOCKET_CLOSE_MESSAGE_TOO_BIG', 1009); |
441 | | -define('WEBSOCKET_CLOSE_EXTENSION_MISSING', 1010); |
442 | | -define('WEBSOCKET_CLOSE_SERVER_ERROR', 1011); |
443 | | -define('WEBSOCKET_CLOSE_TLS', 1015); |
| 450 | +// Next twelve constants are kept for backward compatibility. |
| 451 | +define('WEBSOCKET_CLOSE_NORMAL', SWOOLE_WEBSOCKET_CLOSE_NORMAL); |
| 452 | +define('WEBSOCKET_CLOSE_GOING_AWAY', SWOOLE_WEBSOCKET_CLOSE_GOING_AWAY); |
| 453 | +define('WEBSOCKET_CLOSE_PROTOCOL_ERROR', SWOOLE_WEBSOCKET_CLOSE_PROTOCOL_ERROR); |
| 454 | +define('WEBSOCKET_CLOSE_DATA_ERROR', SWOOLE_WEBSOCKET_CLOSE_DATA_ERROR); |
| 455 | +define('WEBSOCKET_CLOSE_STATUS_ERROR', SWOOLE_WEBSOCKET_CLOSE_STATUS_ERROR); |
| 456 | +define('WEBSOCKET_CLOSE_ABNORMAL', SWOOLE_WEBSOCKET_CLOSE_ABNORMAL); |
| 457 | +define('WEBSOCKET_CLOSE_MESSAGE_ERROR', SWOOLE_WEBSOCKET_CLOSE_MESSAGE_ERROR); |
| 458 | +define('WEBSOCKET_CLOSE_POLICY_ERROR', SWOOLE_WEBSOCKET_CLOSE_POLICY_ERROR); |
| 459 | +define('WEBSOCKET_CLOSE_MESSAGE_TOO_BIG', SWOOLE_WEBSOCKET_CLOSE_MESSAGE_TOO_BIG); |
| 460 | +define('WEBSOCKET_CLOSE_EXTENSION_MISSING', SWOOLE_WEBSOCKET_CLOSE_EXTENSION_MISSING); |
| 461 | +define('WEBSOCKET_CLOSE_SERVER_ERROR', SWOOLE_WEBSOCKET_CLOSE_SERVER_ERROR); |
| 462 | +define('WEBSOCKET_CLOSE_TLS', SWOOLE_WEBSOCKET_CLOSE_TLS); |
444 | 463 |
|
445 | 464 | /* |
446 | 465 | * The minimum number of milliseconds that can be used for time-related operations (e.g., timeout, time intervals, etc) |
|
0 commit comments