1
0
mirror of https://github.com/moparisthebest/socat synced 2024-12-22 06:58:47 -05:00

added environment example to doc/socat-multicast.html

This commit is contained in:
Gerhard Rieger 2009-05-06 19:59:57 +02:00
parent c5201ee1f5
commit 7d0ec2734a

View File

@ -228,10 +228,10 @@ Set a multicast/broadcast route with the following command (Linux):</p>
route add -net 224.0.0.0/3 gw 192.168.10.2
</span></span>
<a name="ALLSYSTEMS">
<a name="ALLSYSTEMS"></a>
<h3>ALL-SYSTEMS multicast address</h3>
<p>
<tt>224.0.0.1</tt></a> is the all-systems multicast address: all
<tt>224.0.0.1</tt> is the all-systems multicast address: all
datagram sockets appear to be automatically member of this group on all
interfaces. This membership cannot be dropped on Linux (you need iptables to
filter packets).
@ -304,7 +304,51 @@ Please note that the new features could not be successfully tested on IPv6;
these sections thus apply to IPv4 only.
</p>
<p>This document was last modified in April 2009.</p>
<h3>New Features in socat 1.7.0</h3>
<p>
socat version 1.7.0 helps to find more information about incoming packets in
environment variables that can be used in scripts or programs invoked by
socat. The option <tt>ip-pktinfo</tt> (on non-BSD systems)
or <tt>ip-recvdstaddr</tt> (on BSD systems) is required to get basic
information about incoming packets.
</p>
<p>
Example: Start a receiver of the following form (tried on Linux):
</p>
<span class="frame"><span class="shell">
socat -u udp-recvfrom:8888,reuseaddr,ip-add-membership=224.1.0.1:192.168.10.2,ip-pktinfo,fork system:export
</span></span>
<p>
Then send a multicast packet from the client:
</p>
<span class="frame"><span class="shell">
echo |socat -u - udp-datagram:224.1.0.1:8888
</span></span>
<p>
On the server the following text should appear (only interesting lines shown):
</p>
<pre>
export SOCAT_IP_DSTADDR="224.1.0.1"
export SOCAT_IP_IF="eth0"
export SOCAT_IP_LOCADDR="192.168.10.2"
export SOCAT_PEERADDR="192.168.10.1"
export SOCAT_PEERPORT="41159"
</pre>
<p>
<tt>SOCAT_IP_IF</tt> shows the interface where the packet entered the server;
<tt>SOCAT_IP_LOCADDR</tt> shows the IP address of this interface;
<tt>SOCAT_IP_DSTADDR</tt> shows the target address of the packet;
<tt>SOCAT_PEERADDR</tt> and <tt>SOCAT_PEERPORT</tt> are the client socket
values.
</p>
<h2>More info about socat datagrams</h2>
@ -339,6 +383,7 @@ with one peer address<br>
<a href="http://en.wikipedia.org/wiki/Broadcast_address">broadcasting on Wikipedia</a><br>
<p>
<small>This document was last modified in May 2009.</small><br>
<small>Copyright: Gerhard Rieger 2007-2009</small><br>
<small>License: <a href="http://www.fsf.org/licensing/licenses/fdl.html">GNU Free Documentation License (FDL)</a></small>
</p>