Network ports, listeners and connection endpoints
A network port selects a transport endpoint within an addressed host, with listener binding and connection context separating services that share an IP address.
An IP address gets traffic to the addressed network context. A port helps select the service within it.
For example, a server can expose its web service and another application through the same interface address while using different destination ports.
One listener can accept many client connections
Use this original reduced TCP inventory:
{
"listener": {"address": "192.168.50.20", "port": 8096},
"clients": [
{"address": "192.168.50.30", "port": 51000},
{"address": "192.168.50.31", "port": 51000}
]
}
Both clients target the same server port. Their equal client-side port values are distinguished by their different addresses.
For this exercise, the flow keys include transport, source address/port and destination address/port. The server’s listener can accept both separate flows rather than allocating a new destination service number for every viewer.

The transport protocol is part of the selection
TCP port 8096 and UDP port 8096 belong to different transport namespaces. Equal numbers do not make them the same service or turn UDP data into a TCP connection.
| Endpoint property | What it selects |
|---|---|
| Address family and destination address | The addressed interface/network context |
| TCP or UDP | The transport protocol |
| Destination port | The relevant listener/service |
| Application request | The operation or resource within that service |
Emby’s familiar HTTP and optional HTTPS listener choices are configurable. Its local discovery exchange uses a separate UDP service.
A service using a number that is often associated with HTTPS still needs to implement TLS; the number alone does not encrypt its traffic.
Client-side ports have their own lifetime
The client operating system often chooses a temporary source port. It helps identify that connection locally and in any translation state along the route.
The IANA registry separates system, user and dynamic/private port-number ranges. An operating system’s actual automatic allocation range and policy need not equal one simplistic fixed range on every platform.
A retained connection and another new connection can use different source numbers while targeting the same Emby endpoint.
A public number can differ from the local listener
An original forwarding example might map TCP outside port 45000 to the server’s configured local HTTPS port 8920.
The remote URL must select 45000, while the internal service still listens on 8920. Merely changing the port Emby reports publicly does not install that router mapping.
Likewise, changing a local listener does not automatically update every app entry, proxy upstream or gateway rule.
See Also
- TCP: an ordered byte stream for media delivery
- UDP datagrams and application delivery policy
- Port forwarding and the complete inbound path
- Hostnames, URLs and the complete server endpoint