SAM: Enhance ports documentation (Gitlab #456)

This commit is contained in:
zzz
2023-10-21 09:30:44 -04:00
parent 8f7b30078d
commit e2ffb5e96c

View File

@ -570,9 +570,36 @@ For PROTOCOL, which may be specified only for RAW, the valid range is 0-255, and
For SESSION commands, the specified ports and protocol are the defaults for that session.
For individual streams or datagrams, the specified ports and protocol override the session defaults.
For received streams or datagrams, the indicated ports and protocol are as received from <a href="{{ site_url('docs/protocol/i2cp') }}">I2CP</a>.
</p><p>
</p>
<h4>Important Differences from Standard IP</h4>
I2CP ports are for I2P sockets and datagrams. They are unrelated to your local sockets connecting to SAM.
<ul><li>
Port 0 is valid and has special meaning.
</li><li>
Ports 1-1023 are not special or privileged.
</li><li>
Servers listen on port 0 by default, which means "all ports".
</li><li>
Clients send to port 0 by default, which means "any port".
</li><li>
Clients send from port 0 by default, which means "unspecified".
</li><li>
Most I2P destinations only have one service running on them, so you may use the defaults, and ignore I2CP port configuration.
</li><li>
SAM 3.2 or 3.3 is required to specify I2CP ports.
</li><li>
If you don't need I2CP ports, you don't need SAM 3.2 or 3.3; 3.1 is sufficient.
</li><li>
Protocol 0 is valid and means "any protocol". This is not recommended, and probably will not work.
</li><ul>
<p>
If you are designing a SAM 3.3 application with multiple subsessions, think carefully
about how to use ports and protocols effectively.
See the <a href="{{ site_url('docs/protocol/i2cp') }}">I2CP</a> specification for more information.
</p><p>
</p>