--- title: "mg_bind_opt()" decl_name: "mg_bind_opt" symbol_kind: "func" signature: | struct mg_connection *mg_bind_opt(struct mg_mgr *mgr, const char *address, MG_CB(mg_event_handler_t handler, void *user_data); --- Creates a listening connection. The `address` parameter specifies which address to bind to. It's format is the same as for the `mg_connect()` call, where `HOST` part is optional. `address` can be just a port number, e.g. `:8000`. To bind to a specific interface, an IP address can be specified, e.g. `1.2.3.4:8000`. By default, a TCP connection is created. To create UDP connection, prepend `udp://` prefix, e.g. `udp://:8000`. To summarize, `address` parameter has following format: `[PROTO://][IP_ADDRESS]:PORT`, where `PROTO` could be `tcp` or `udp`. See the `mg_bind_opts` structure for a description of the optional parameters. Returns a new listening connection or `NULL` on error. NOTE: The connection remains owned by the manager, do not free().