RtTcpipClient

The RtTcpipClient sample sends either UDP or TCP packets to a running instance of the RtTcpipServer sample, receives the packets echoed from the server and accumulates statistics regarding the round trip packet times. The server is specified by the IP address and port number. These, as well as the protocol (UDP or TCP), packet size and number of packets sent/received are command line arguments.

Statistics are displayed for every 500 packets sent. Minimum, average, and maximum round trip packet times are displayed as well as the throughput. Once all packets are sent, statistics are displayed for all packets and a histogram similar to that of SRTM is provided showing the frequency by which various round trip latencies where encountered. The congestion of the LAN and the determinism of the systems running the client sample and the server sample are all considerations in interpreting the results.

If a UDP socket is not bound to an IP address, and the system has configured several IP addresses on the same subnet as the destination IP address (or the route to the destination), UDP datagrams will be sent using the first IP address configured for this subnet.

You can also use the client to show basic filter functionality using the RtEthernetFilter example. The RtEthernetFilter should be enabled on the machine running the server sample and the client should use the t option to enable filter testing.

The various command line options are described below.

RTSS Usage

RTSSrun rttcpipclient.rtss i=IP_address [options]

Windows Usage

RtTcpipClient.exe i=IP_address [options]

Options

Option Description
a=<ip> switch Specify an IP address to bind the client socket to.

b=0,1

0=don't include the first 500 packets in performance metrics (default), 1=include the first 500 packets

c=

Connection loops (default=1)

g=(1 or 0) This option only affects result printouts (default is 1). Use g=0 if you are running 100 MB or 10 MB connection.

i=

Destination IP address in dot notation.

k

Kill the server; remote shutdown of the Server

m=

Message loops (default=10000)

n=0,1

0=disable Nagle Algorithm (default), 1=Enable Nagle Algorithm

Note: Both the RtTcpipClient and RtTcpipServer must have the use of the Nagle Algorithm in the same state. Either both have the Nagle Algorithm disabled or both have the Nagle Algorithm enabled.

o= Scope Id of link-local IPv6 address

p=nn

nn port number (default is 9999)

r=nn Calculate and print the report at an interval of every nn number of loops (default is 500)

s=packet size

Packet size sent (default=1024 )in bytes.

e=nn Limits data size of send call

/?

/? displays usage

/silent No printouts will occur after initialization
t=nn Select timeout in ms. used only with UDP send (default is 1000)

/udp

Use UDP instead of defaulting to TCP

w=nn Socket window size (SO_SNDBUF and SO_RCVBUF) options

Related topics: