Added examples for DCCP client and server

This commit is contained in:
Gerhard Rieger 2023-06-12 20:53:31 +02:00
parent 2bd2a04151
commit 9c1ccf412c
2 changed files with 18 additions and 0 deletions

View file

@ -75,6 +75,8 @@ Documentation:
socat-tun.html described TCP as tunnel medium but this does not keep socat-tun.html described TCP as tunnel medium but this does not keep
packet boundaries. Changed to UDP. packet boundaries. Changed to UDP.
Added examples for DCCP client and server.
Testing: Testing:
Idea: EXEC,SYSTEM addresses can keep packet boundaries when option Idea: EXEC,SYSTEM addresses can keep packet boundaries when option
socktype=<val-of-SOCK_DGRAM> socktype=<val-of-SOCK_DGRAM>

View file

@ -3462,6 +3462,22 @@ as the parent process lives; NOEXPAND(shutdown(2)) would actively terminate the
connection). connection).
label(EXAMPLE_GENERIC_DCCP_SERVER)
dit(bf(tt(socat TCP-LISTEN:10021,reuseaddr,socktype=6,protocol=33,fork PIPE)))
is a simple DCCP echo server. It uses socat()s TCP procedures, but changes the
socket type to SOCK_DCCP=6 (on Linux) and the IP protocol to IPPROTO_DCCP=33.
This works in contrast to attempts with UDP basis, even though DCCP is named a
datagram protocol.
label(EXAMPLE_GENERIC_DCCP_CLIENT)
dit(bf(tt(socat - TCP:<server>:10021,reuseaddr,socktype=6,protocol=33,fork)))
is a simple DCCP client. It uses socat()s TCP procedures, but changes the
socket type to SOCK_DCCP=6 (on Linux) and the IP protocol to IPPROTO_DCCP=33.
label(EXAMPLE_ADDRESS_UDP4_BROADCAST_CLIENT) label(EXAMPLE_ADDRESS_UDP4_BROADCAST_CLIENT)
dit(bf(tt(socat - UDP4-DATAGRAM:192.168.1.0:123,sp=123,broadcast,range=192.168.1.0/24))) dit(bf(tt(socat - UDP4-DATAGRAM:192.168.1.0:123,sp=123,broadcast,range=192.168.1.0/24)))