TcpProbe
The real probe: one TCP connect to `127.0.0.1:<port>` with a 250 ms timeout. Its scope is the IPv4 loopback address ONLY. A service that listens on `::1` alone, on another interface, on a remote host or inside a Docker network the host cannot reach reports `down` here even though it runs — the probe measures "does this port answer on 127.0.0.1", nothing wider, and a reader says so next to the state ({@see self::host()}). A refused or timed-out connection is `false`, never an exception — a service that is down is a state a reader reports, not an error it raises. It says nothing about WHAT answered: a port that accepts is reachable even if something else took it. Telling the service from a squatter is the declaration's {@see ServiceSignature}, asked by a {@see SignatureProbe} (greenhouse decisions/0504).
TcpProbe::host()
public function host(): stringThe IPv4 loopback address — the only host this probe ever tries.
TcpProbe::reachable()
public function reachable(int $port): boolTrue when the port accepts a TCP connection on IPv4 loopback; the connection is closed at once.
Parameters
| Name | Type | Description |
|---|---|---|
| $port | int |