# enet.host

## Description

An ENet host for communicating with peers. On creation it will bind to a port on an address, unless otherwise specified, which will keep other applications from binding to the same port and address.

The only way to free the port is by garbage collecting the ENet host, which can be done like so:

    local host = enet.host_create("*:6789")
    host = nil
    collectgarbage()

## Functions

Function | Description
--- | ---
host:service | Wait for events, send and receive any ready packets.
host:check_events | Checks for any queued events and dispatches one if available.
host:connect | Connects a host to a remote host. Returns peer object associated with remote host.
host:flush | Sends any queued packets.
host:broadcast | Queues a packet to be sent to all connected peers.
host:channel_limit | Sets the maximum number of channels allowed.
host:bandwidth_limit | Sets the bandwidth limits of the host in bytes/sec.
host:socket_get_address | Returns a string that describes the socket address of the given host.
host:total_sent_data | Returns the number of bytes that were sent through the given host.
host:total_received_data | Returns the number of bytes that were received by the given host.
host:service_time | Returns the timestamp of the last call to host:service() or host:flush().
host:peer_count | Returns the number of peers that are allocated for the given host.
host:get_peer | Returns the connected peer at the specified index (starting at 1).
host:__gc | Destroys the host, freeing any bound ports and addresses.

## See Also

- lua-enet
- enet:host_create
- enet.event
- enet.peer

Category:

- Functions