---
title: "Listening on ports"
date: "2014-12-02"
category: "terminal"
slug: "listening-ports"
---

Accounts with [[is-terminal-access-available]] can run persistent background processes (daemons) required for applications like Node.js or other backend services. Game servers, cryptocurrency miners, TeamSpeak servers, and IRC bouncers are not permitted.

## Port Ranges

Your assigned port range is available in the [[logging-into-the-control-panel]] under **Account** > **Summary** > **Development**. Port assignments vary by server and are always within the range **40010 - 49999**. Always verify your assigned range in the control panel. Services listening outside your assigned range will be automatically terminated.

![TCP port range available within the control panel under Account > Summary > Development.](kb-image:tcp-port-range.png)
*TCP port range available within the control panel under Account > Summary > Development.*

## TCP vs. UNIX Sockets

Use a TCP port only when external services need to communicate with your application. For server-local communication, UNIX sockets are the better choice:

- **~33% faster** than TCP because the network stack is bypassed ([benchmark](http://momjian.us/main/blogs/pgblog/2012.html#June_6_2012))
- **More secure**: only processes on the same server can connect, effectively acting as a built-in firewall
- **No port limits**: you can run as many UNIX socket listeners as your account needs

## See Also

[[compiling-programs]]
