- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用unix中的nc命令逐行将文件内容发送到服务器正在监听进一步处理的端口。
我正在使用以下代码:
客户:
for inFile in `ls /home/dbadmin/input_data/*.dat`
do
while read line
do
echo $line
echo $line |nc -C 127.0.0.1 7870
done<$inFile
done
服务器:
echo "socket program"
while true
do
echo `nc -l 7870`
done
I have 75 lines in the file at the sending end, but I am getting only 60 lines in the receiver end. Can you guys help me handling this!
更新了代码以检查数字而不是读取文件
#!/bin/bash
c=1
while [ $c -le 10 ]
do
echo "Welcone $c times"
echo $c |nc -C 127.0.0.1 7870
(( c++ ))
done
最佳答案
我怀疑你丢失了数据包。
当您在 shell 中执行“read”和“echo”时,它会删除空格并巧妙地更改您的文件,因此我建议“一次 1 个文件”而不是“一次 1 行”,并避免“read”和“echo”。像这样:
服务器:
echo "socket program"
while true
do
nc -l 7870
done
客户:
#!/bin/bash
for inFile in *.dat
do
nc -C 127.0.0.1 7870 < $inFile
done
已编辑如果您想测试数据包是否被丢弃,请尝试发送大量数据并查看到达的数据量是否与发送的数据量相同:
客户:
#!/bin/bash
# Send 1GB of zeroes
dd if=/dev/zero bs=1m count=1000 |nc -C 127.0.0.1 7870
示例输出:
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 6.618385 secs (158433821 bytes/sec)
服务器:
echo "socket program"
while true
do
# Receive stuff and say how much
nc -l 7870 | wc -c
done
示例输出:
1048576000
我想知道问题是否可能是 netcat 没有设置 SO_REUSEADDR 来允许重复使用地址。您可以按原样保留客户端并尝试将其作为服务器的 Perl 实现,看看是否有帮助...
#!/usr/bin/perl
use IO::Socket;
my $sock = new IO::Socket::INET (
LocalPort => '7870',
Proto => 'tcp',
Listen => 1,
Reuse => 1,
);
die "Could not create socket: $!\n" unless $sock;
while(my $new_sock = $sock->accept()){
while(<$new_sock>) { print $_; }
}
关于linux - Linux中使用netcat、shell脚本处理丢包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21574597/
我有一个嵌入式设备(源),它通过UDP数据包以20毫秒(约330字节)的块大小发送(音频)数据流。因此,网络容量相当低,约为16kBps(实际上由于UDP/IP开销而有所增加)。该设备正在运行lwIP
在一家视频 session 公司实习时,数据包丢失的话题很多。维基百科声明如下: Packet loss is typically caused by network congestion. 我知道因
如何使用 Ryu 发送流条目来删除包?我从教程中学习了如何将包发送出流条目: 我定义 Action :actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FL
我搜索了很多关于这个主题的内容。 UDP 不可靠 UDP 无法发送大于 64kbs 或 65507 字节且没有 header 的数据包 MTU 通常为 1500 sysctl.confnet.core
我需要计算以下内容: 上传, 下载速度 丢包 抖动 各大洲服务器的延迟 本地和有关移动运营商的详细信息 谁能告诉我跟踪这些东西的最佳方法是什么? 我需要准确度才能高。 最佳答案 请找到获取延迟的代码。
我是一名优秀的程序员,十分优秀!