linux - 编写脚本通过套接字连接缓慢发送数据的最简单方法

标签 linux sockets scripting tcp

我需要定期从 Linux 客户端连接到服务器并发送一些命令,所以我写了这个脚本:

#!/bin/sh
telnet theserver.somewhere.com 9999 <<EOF
command 1
command 2
command 3
EOF

问题是我需要在命令之间等待。此脚本发送命令和断开连接的速度过快,服务器检测到这一点,并丢弃命令。如果我从命令行打开连接然后一次粘贴一个命令,它就可以工作,并且它可以在非本地客户端上工作,但是从本地客户端脚本失败。在每个命令之间暂停一秒钟左右就足够了。

我可以编写一个 C 或 Java 程序来执行此操作,但最简单的方法是什么?如果您需要,可以使用常用的脚本语言(Perl 和 Python)。

最佳答案

从文件一次回显一行到 telnet 的 Shell 命令:

cat commands.txt | 
    ( while read line; do echo $line; sleep 1; done ) |
    telnet theserver.somewhere.com 9999

关于linux - 编写脚本通过套接字连接缓慢发送数据的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4773300/

相关文章:

c++ - Linux、C++、dup(socket) 是否会从另一个非 fork 进程工作(如果不是如何启用它)?

testing - 创建越来越大的测试文件

shell脚本: not able to assign integer to a variable

linux - 无法在浏览器上打开远程安装的 Sonar

linux - 是否可以丢包

php - 套接字打印问题: PHP/Toshiba B-SA4TM

linux - touch 命令在一个目录下创建多个文件(不同名称)

linux - 如何通过在 BASH 中使用新进程组 ID 在 Linux 上生成进程

从 Windows 迁移到 Linux 后,Android Studio 项目中突然缺少 AndroidManifest.xml 文件?

linux - 判断socket上是否还有Data残留并丢弃