inetd does rate-limiting. By default it stops at 40 connections per minute and then "punishes" you with 10 minutes of not listening anymore.
In /etc/inetd.conf, try this:
shell stream tcp nowait
.1000 root /usr/sbin/tcpd in.rshd -L
Instead of this:
shell stream tcp nowait root /usr/sbin/tcpd in.rshd -L
For xinetd, there are more options (and more explicit):
cps
Limits the rate of incoming connections. Takes two arguments. The first argument is the number of connections per second to handle. If the rate of incoming connections is higher than this, the service will be temporarily disabled. The second argument is the number of seconds to wait before re-enabling the service after it has been disabled. The default for this setting is 50 incoming connections and the interval is 10 seconds.
max_load
Takes a floating point value as the load at which the service will stop accepting connections. For example: 2 or 2.5. The service will stop accepting connections at this load. This is the one minute load average. This is an OS dependent feature, and currently only Linux, Solaris, and FreeBSD are supported for this. This feature is only avaliable if xinetd was configured with the -with-load-avg option.