---
title: WebSocket Options
framework: network
role: collectionGroup
role_heading: API Collection
path: network/websocket-options
---

# WebSocket Options

Configure options for connections that use WebSocket.

## Topics

### Creating WebSocket Connections

- [nw_protocol_copy_ws_definition()](network/nw_protocol_copy_ws_definition().md)
- [nw_ws_create_options(_:)](network/nw_ws_create_options(_:).md)
- [nw_ws_version_t](network/nw_ws_version_t.md)
- [nw_ws_options_set_auto_reply_ping(_:_:)](network/nw_ws_options_set_auto_reply_ping(_:_:).md)
- [nw_ws_options_set_maximum_message_size(_:_:)](network/nw_ws_options_set_maximum_message_size(_:_:).md)

### Configuring Client Handshakes

- [nw_ws_options_add_additional_header(_:_:_:)](network/nw_ws_options_add_additional_header(_:_:_:).md)
- [nw_ws_options_add_subprotocol(_:_:)](network/nw_ws_options_add_subprotocol(_:_:).md)
- [nw_ws_options_set_skip_handshake(_:_:)](network/nw_ws_options_set_skip_handshake(_:_:).md)

### Handling WebSocket Messages

- [nw_protocol_metadata_is_ws(_:)](network/nw_protocol_metadata_is_ws(_:).md)
- [nw_ws_create_metadata(_:)](network/nw_ws_create_metadata(_:).md)
- [nw_ws_metadata_get_opcode(_:)](network/nw_ws_metadata_get_opcode(_:).md)
- [nw_ws_opcode_t](network/nw_ws_opcode_t.md)
- [nw_ws_metadata_set_close_code(_:_:)](network/nw_ws_metadata_set_close_code(_:_:).md)
- [nw_ws_metadata_get_close_code(_:)](network/nw_ws_metadata_get_close_code(_:).md)
- [nw_ws_close_code_t](network/nw_ws_close_code_t.md)
- [nw_ws_metadata_set_pong_handler(_:_:_:)](network/nw_ws_metadata_set_pong_handler(_:_:_:).md)
- [nw_ws_pong_handler_t](network/nw_ws_pong_handler_t.md)
- [nw_ws_metadata_copy_server_response(_:)](network/nw_ws_metadata_copy_server_response(_:).md)

### Handling Server Handshakes

- [nw_ws_options_set_client_request_handler(_:_:_:)](network/nw_ws_options_set_client_request_handler(_:_:_:).md)
- [nw_ws_client_request_handler_t](network/nw_ws_client_request_handler_t.md)
- [nw_ws_request_t](network/nw_ws_request_t.md)
- [nw_ws_request_enumerate_subprotocols(_:_:)](network/nw_ws_request_enumerate_subprotocols(_:_:).md)
- [nw_ws_subprotocol_enumerator_t](network/nw_ws_subprotocol_enumerator_t.md)
- [nw_ws_request_enumerate_additional_headers(_:_:)](network/nw_ws_request_enumerate_additional_headers(_:_:).md)
- [nw_ws_additional_header_enumerator_t](network/nw_ws_additional_header_enumerator_t.md)
- [nw_ws_response_t](network/nw_ws_response_t.md)
- [nw_ws_response_create(_:_:)](network/nw_ws_response_create(_:_:).md)
- [nw_ws_response_status_t](network/nw_ws_response_status_t.md)
- [nw_ws_response_add_additional_header(_:_:_:)](network/nw_ws_response_add_additional_header(_:_:_:).md)
- [nw_ws_response_get_status(_:)](network/nw_ws_response_get_status(_:).md)
- [nw_ws_response_get_selected_subprotocol(_:)](network/nw_ws_response_get_selected_subprotocol(_:).md)
- [nw_ws_response_enumerate_additional_headers(_:_:)](network/nw_ws_response_enumerate_additional_headers(_:_:).md)

## See Also

### Network Protocols

- [TCP Options](network/tcp-options.md)
- [TLS Options](network/tls-options.md)
- [QUIC Options](network/quic-options.md)
- [UDP Options](network/udp-options.md)
- [IP Options](network/ip-options.md)
- [Framer Protocol Options](network/framer-protocol-options.md)
