-
2021-02-12 19:37:39
想实现最简单的文件传输,自己传给自己2G的文件也没什么问题。但是在局域网里传输就丢包严重,几k的文件都不能传好大致代码如下发送方:skt=newSocket(ip,port);printStream=newPrint...
想实现最简单的文件传输,自己传给自己2G的文件也没什么问题。但是在局域网里传输就丢包严重,几k的文件都不能传好
大致代码如下
发送方:
skt = new Socket(ip, port);
printStream = new PrintStream(skt.getOutputStream());
while( (readCount = fileReader.read(buffer, 0, 65535)) != -1 )
printStream.write(buffer, 0, readCount);
接收方:
fileReader = new BufferedInputStream(clientSkt.getInputStream());
fileWrtier = new BufferedOutputStream( new FileOutputStream(path) );
while( (readCount = fileReader.read(buffer, 0, 65535)) != -1 )
fileWriter.write(buffer, 0, readCount);
skt = new Socket(ip, port);
printStream = new PrintStream(skt.getOutputStream());
while( (readCount = fileReader.read(buffer, 0, 65535)) != -1 )
printStream.write(buffer, 0, readCount);
接收方:
fileReader = new BufferedInputStream(clientSkt.getInputStream());
fileWrtier = new BufferedOutputStream( new FileOutputStream(path) );
while( (readCount = fileReader.read(buffer, 0, 65535)) != -1 )
fileWriter.write(buffer, 0, readCount);
不知道问题出在哪里,或者有什么更好的解决方法呢?
谢谢
展开
更多相关内容 -
Windows系统桥接模式下虚拟机访问局域网丢包严重
2022-05-03 11:59:27虚拟机和宿主机互ping没有问题,虚拟机和局域网内其他主机互ping,丢包严重。 -
java与C#进行TCP局域网通信,丢包严重,怎么解决?
2021-03-15 12:28:54程序很简单,局域网通信C#服务端IPEndPoint end_point = new IPEndPoint(IPAddress.Any, 6000);TcpListener listener = new TcpListener(end_point);listener.Start();TcpClient client = listener.AcceptTcpClient...程序很简单,局域网通信
C#服务端
IPEndPoint end_point = new IPEndPoint(IPAddress.Any, 6000);
TcpListener listener = new TcpListener(end_point);
listener.Start();
TcpClient client = listener.AcceptTcpClient();
NetworkStream streamToClient = client.GetStream();
byte[] buffer = new byte[1024];
streamToClient.Read(buffer, 0, 1024);
while (true)
{//收数据
int bytesRead = streamToClient.Read(buffer, 0, 1024);
if (bytesRead == 0)
break;
Console.WriteLine(BitConverter.ToSingle(buffer, 0));
}
手机上的Java客户端(单独线程)
public void run()
{
try {
client_socket = new Socket("192.168.0.100", 6000);
output = client_socket.getOutputStream();
} catch (IOException e) {}
while(true) {
try {//发数据
output.write(floatToBytes(idx += 1.0f));
try {
Thread.sleep(100);//延时100ms
} catch (InterruptedException e) {}
} catch (IOException e) {}
}
} 服务端理想的输出是
1 2 3 4 5 6 7 8 9 10 11 ......
但是输出是
2 4 6 8 10 12 ......
如果把客户端的延时改成
Thread.sleep(200); 可以得到正确输出
好像要隔200ms才能收到数据
在200ms毫秒内传输的数据都丢了
如果改成udp通信,同样的发数字,即使不延时都不会丢数据。
这是啥问题?
-
centos 7 局域网丢包排查_使用mtr排查服务器网络连通性
2020-11-02 10:36:28-s 指定发送每个数据包大小(bytes) -c 指定发送包数量 -i 指定发送数据包的间隔(秒) --tcp 指定发送tcp包 --udp 指定发送udp包 结果分析 链路分析: 自建机房 一般情况下前几跳都是局域网内路由,如果异常则自行...问题
这两天ffmpeg推流的同事反应
服务器
推送视频流到A直播云
的直播播放某个时间段经常卡顿排查
mtr的使用在末尾
- 同一台服务器将视频流分别推送到
B云直播
、A直播云
对比播放流畅度,B直播云
播放流畅,判断:问题不在推流服务器 - 将问题反馈给
A直播云
,A直播云答复:推送不稳定 - 排查对比
推流服务器
与A直播云
、B直播云
的网络联通性 - A直播云
mtr a.ar414.com
- B直播云
mtr b.ar414.com
- 排查结论
推流服务器
与A直播云
的链路异常,链路绕到国外才回国,丢包率与延迟率较高推流服务器
与B直播云
的链路正常,丢包率与延迟率总体较低
解决
将mtr排查报告反馈至A直播云让其调整路由链路
mtr
网络联通性判断工具,它可以结合 ping nslookup tracert 来判断网络的相关特性,这个命令就是 mtr。mtr 全称 my traceroute,是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具 ### 安装 1. Linux
# Ubuntu $ apt install mtr # CentOS $ yum install mtr
- Windows 免安装包:https://github.com/oott123/WinMTR/releases
使用
根据实际业务进行测试 比如我这边测的是推流则需要指定包大小及tcp协议
$ mtr ar414.com
参数说明: Host:链路IP地址 Loss:丢包率 Snt:已发送数据包数 Last:最后一个包的延时 Avg:平均延时 Best:最低延时 Wrst:最差延时 StDev:稳定性
命令选项
- -r
- 使用-r:默认向目标地址发送10个ICMP包 然后直接打印报告
- 不使用-r:动态运行不断向目标地址发送ICMP包
- -s 指定发送每个数据包大小(bytes)
- -c 指定发送包数量
- -i 指定发送数据包的间隔(秒)
- --tcp 指定发送tcp包
- --udp 指定发送udp包
结果分析
- 链路分析:
- 自建机房
- 一般情况下前几跳都是局域网内路由,如果异常则自行排查或上报机房运维
- 中间跳数则是中间节点,如果异常则联系
运营商
- 后几跳则是服务提供商,如果异常联系服务提供商
- 云服务器
- 前中的链路异常则联系云服务器商,一般提交工单
- 后几跳异常则联系服务提供商
- 丢包率
- 还有很多时候问题是在数据包返回途中发生的,数据包可以成功的到达目的主机,但是返回过程中遇到 “困难” 了。所以,当问题发生后,我们通常需要收集反方向的 MTR 报告 结合正反向MRT排查报告进行判断
- 网络延迟
- 因为是不同的位置,延迟通常会随着条数的增加而增加。所以,延迟通常取决于节点之间的物理距离和线路质量。
- 高延迟并不一定意味着当前路由器有问题。延迟很大的原因也有可能是在返回过程中引发的。从这份报告的截图看不到返回的路径,返回的路径可能是完全不同的线路,所以一般需要进行双向 MTR 测试
- 同一台服务器将视频流分别推送到
-
为何ping服务器会丢包严重?
2021-07-30 03:56:31六、蠕虫病毒的影响导致网速变慢通过E-mail散发的蠕虫病毒对网络速度的影响越来越严重,危害性极大。这种病毒导致被感染的用户只要一上网就不停地往外发邮件,病毒选择用户个人电脑中的随机文档附加在用户机子的...一、网络自身问题 您想要连接的目标网站所在的服务器带宽不足或负载过大。一台服务器,如果带宽超过峰值的时间,外来客户再PING这个服务器IP的时间,掉包是很正常的。也就是说你的服务器需要加带宽了。 二、访问者PC问题 这个问题有多种触发性,防火墙的安装或设置,客户电话线路等等,在这里不多加阐述,我博客里已经注明。 三、网络中存在回路导致网速变慢 当网络涉及的节点数不是很多、结构不是很复杂时,这种现象一般很少发生。但在一些比较复杂的网络中,经常有多余的备用线路,如无意间连上时会构成回路。比如网线从网络中心接到计算机一室,再从计算机一室接到计算机二室。同时从网络中心又有一条备用线路直接连到计算机二室,若这几条线同时接通,则构成回路,数据包会不断发送和校验数据,从而影响整体网速。这种情况查找比较困难。为避免这种情况发生,要求我们在铺设网线时一定养成良好的习惯:网线打上明显的标签,有备用线路的地方要做好记载。当怀疑有此类故障发生时,一般采用分区分段逐步排除的方法。 这个是摘抄的,没有实践经过。亮出来供大家参考。 四、网络设备硬件故障引起的广播风暴而导致网速变慢 作为发现未知设备的主要手段,广播在网络中起着非常重要的作用。然而,随着网络中计算机数量的增多,广播包的数量会急剧增加。当广播包的数量达到30%时,网络的传输效率将会明显下降。当网卡或网络设备损坏后,会不停地发送广播包,从而导致广播风暴,使网络通信陷于瘫痪。因此,当网络设备硬件有故障时也会引起网速变慢。当怀疑有此类故障时,首先可采用置换法替换集线器或交换机来排除集线设备故障。如果这些设备没有故障,关掉集线器或交换机的电源后, DOS下用“Ping”命令对所涉及计算机逐一测试,找到有故障网卡的计算机,更换新的网卡即可恢复网速正常。网卡、集线器以及交换机是最容易出现故障引起网速变慢的设备。 五、网络中某个端口形成了瓶颈导致网速变慢 实际上,路由器广域网端口和局域网端口、交换机端口、集线器端口和服务器网卡等都可能成为网络瓶颈。当网速变慢时,我们可在网络使用高峰时段,利用网管软件查看路由器、交换机、服务器端口的数据流量;也可用Netstat命令统计各个端口的数据流量。据此确认网络数据流通瓶颈的位置,设法增加其带宽。具体方法很多,如更换服务器网卡为100M或1000M、安装多个网卡、划分多个VLAN、改变路由器配置来增加带宽等,都可以有效地缓解网络瓶颈,可以最大限度地提高数据传输速度。 六、蠕虫病毒的影响导致网速变慢通过E-mail散发的蠕虫病毒对网络速度的影响越来越严重,危害性极大。这种病毒导致被感染的用户只要一上网就不停地往外发邮件,病毒选择用户个人电脑中的随机文档附加在用户机子的通讯簿的随机地址上进行邮件发送。成百上千的这种垃圾邮件有的排着队往外发送,有的又成批成批地被退回来堆在服务器上。造成个别骨干互联网出现明显拥塞,网速明显变慢,使局域网近于瘫痪。因此,我们必须及时升级所用杀毒软件;计算机也要及时升级、安装系统补丁程序,同时卸载不必要的服务、关闭不必要的端口,以提高系统的安全性和可靠性。 七、防火墙的过多使用 防火墙的过多使用也可导致网速变慢,处理办法不必多说,卸载下不必要的防火墙只保留一个功能强大的足以。 八、经过路邮的数量和质量对网速有一定的影响。 我们的机柜都是千兆接入, 防火墙有全局防护策略的, 一般攻击不会透过来,
取消
评论
-
Linux 网卡丢包严重
2021-02-07 01:09:51Aurelius vs mORMot vs EntityDAC Delphi 的 ORM框架 Aurelius vs mORMot vs EntityDAC Delphi 的 ORM框架: http://www.tmssoftware.com/site/aurelius.asp#produ ... golang 的glide包管理使用技巧教程 安装glide... -
Ping网关间歇性丢包,Ping同局域网电脑正常
2019-05-29 15:26:01故障现象:服务器B ping路由器网关地址192.168.1.1会出现间歇性丢包,服务器A ping路由器网关地址192.168.1.1正常,服务器B ping服务器A正常。 网络环境,如下图所示: 根据故障表现形式基本可以判定为单机网络... -
网络丢包怎么办?这些解决办法
2020-11-21 21:31:53网络丢包最常见的:就是网线质量不行,水晶头氧化,水晶头和交换机接触不良、,网卡适配器损坏,网线环路,光衰过大。 当网络有问题,首先我们会进行ping命令,所谓网络丢包是我们在使用ping命令(检测某个系统能否... -
linux系统双网卡绑定及丢包问题
2021-05-11 17:08:56绑定双网卡丢包问题: A/B网卡,单线路不丢包,双线路丢包。在modprobe.conf。查看cat/proc/net/bonding/bond0 load balancing (round-robin)为负载均衡方式,两块网卡都工作。需要改成mode=1(0为负载均衡模式,1为... -
UDP主要丢包原因及具体问题分析(转)
2021-03-16 12:57:24一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包... -
PING IP地址丢包为问题
2018-11-03 07:19:27有大神知道为什么Ping IP地址时间小于1ms,但有时会丢包吗? -
iperf 测试1000M网络 丢包率问题
2021-12-13 10:47:25我在使用iperf测试丢包率时,发现在快要跑完时出现了100%的丢包率,哪位大佬遇到过这样的问题?怎么解决的? 如下,我设置了时间的36000秒,在跑到30997秒后开始出现大量丢包,且是100%,很奇怪,跑了好几次都是... -
大家有没有发现无线网络中多播的丢包率很高
2020-12-20 15:20:28效果很好,很流畅但如过用多播(Multicast)的udp,效果就很差,接收的图像上有很多方块,根本看不清图像换成rtp也没有好转谁知道为什么这种广播传输,丢包率就这么高?怎么解决呢?怎么能让广播包和单播包“一视同仁... -
UDP丢包原因
2021-03-10 04:35:35http://www.cnblogs.com/mengyan/archive/2012/10/04/2711340.html一、主要丢包原因1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用... -
linux 系统 UDP 丢包问题分析
2020-04-25 09:49:00最近工作中遇到某个服务器应用程序 UDP 丢包,在排查过程中查阅了很多资料,总结出来这篇文章,供更多人参考。 在开始之前,我们先用一张图解释 linux 系统接收网络报文的过程。 首先网络报文通过物理网线发送到... -
网络丢包排查思路
2020-11-24 15:36:07网络丢包排查思路 1.防火墙确认:看防火墙是否配置了DROP特定端口范围的可能性 方法:查看iptables filter表,确认是否有相应规则会导致此丢包行为,命令:sudoiptables-save-tfilter 2.连接跟踪表溢出 除了防火墙... -
udp丢包原因分析
2020-01-06 11:15:20什么会导致udp丢包呢,这里列举了如下几点原因: 调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包... -
急救:Delphi中IdUDPServer局域网内严重丢包的问题
2013-06-24 13:05:01现在是这么个情况,给本机发送文本和截屏都很正常,给局域网别的机子发送文本正常,截图没反应,我猜可能是含图片的record比较大,发送过程中丢包了。请问大神们,我的IdUDPServer1UDPRead事件应该如何优化?最好能... -
ping丢包故障处理方法
2018-09-12 12:15:08ping丢包故障处理方法 1. Ping丢包故障定位思路故障分析Ping丢包是指Ping报文在网络中传输,由于各种原因(如线路过长、网络拥塞等)而产生部分Ping报文丢弃的现象。在使用Ping命令,出现Ping丢包的现象时,第一步... -
socket接受数据缓慢或者丢包严重
2018-04-13 14:19:33这个代码之前是外包出去的,现在由我继续开发,然后新买了一台服务器,老服务器就跑的外包项目,新服务器上就跑的我接着开发的,在新服务器上就出现了socket接收数据丢包严重的情况,但是都是局域网传的,甚至就是那... -
(故障记录)关于多台服务器丢包现象
2020-11-19 20:45:40发现几台服务器服务存在不稳定现象,ping测试发现这几台服务器对外都出现丢包现象,丢包率3%~5%,服务器为虚拟机部署在实体服务器上,一台实体机上部署数个虚拟机。 排查 一,通过arp确认出现问题的服务器都属于同... -
网络丢包怎么办?这些解决办法不得不知
2020-12-22 05:55:13在做弱电项目中,我们经常会出现网络比较卡、监控有几路画面不显示、网络时正常,时不正常等问题,这些故障大部分情况下是跟网络丢包有关,今天我们来看下,网络丢包怎么办,常见故障分析及处理方式。当网络有问题,... -
网络丢包现象分析与解决方案
2021-07-30 03:49:26在我们对局域网进行管理的过程中,经常会碰到网络传输不畅而导致上网时断时续,或者网速非常缓慢,出现这种现象很多情况下都是由于网络丢包引起的,网络丢包是指数据包由于各种原因在信道中发生丢失的现象。... -
局域网内的攻击—Arp欺骗
2020-10-29 09:41:28在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。MAC地址就是ARP协议获得的。其实就是主机在发送帧前将目标... -
UDP组播丢包问题
2018-04-13 19:23:44今天UDP组播丢包问题,可把我害惨了,130个包,接收端总是只接受到121个包,稳定丢9个包,我一直以为是代码逻辑问题,但是通过130个单步调试发现,单步调试就是不丢包。 后来去复习了一下UDP。豁然开朗,UDP发送过... -
UDP主要丢包原因及具体问题分析
2017-12-01 10:55:19接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,... -
(故障记录)关于vlan下设备丢包问题
2020-11-19 20:29:08一,最初仅发现新部署的两台打印机出现丢包问题,由于内部局域网地址手工划分,推测可能是IP地址分配出现冲突,更换ip地址后发现现象依旧。 二,怀疑链路上某段出现了问题,在接入层配置同网段ip,发现汇聚层到接入... -
网络延迟高怎么办(家里WIFI延迟高,教你几招搞定网络延迟)
2021-01-15 13:49:03>100ms:差,无法正常游戏,会有丢包并掉线现象。 可以查看是否延迟 第一招:修改无线路由器的信道 1,首先我们进入无线路由器的设置页面,在无线网络设置中找到信道设置。 信道设置 2,开启WDS并扫描周围无线网络... -
iperf参数与丢包率的关系
2017-10-11 16:02:15带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。经常使用的参数例子如下: iperf -b 1m -u -c 10.0.0.1 -t 0.1 -l 30影响丢包率的因素:带宽值:使用iperf生成并发送数据,在数据包长度固定的... -
探究何种原因导致网络数据丢包严重
2017-11-15 22:21:00许多时候,我们可能都会碰到网络连接时断时续的故障现象,面对这种网络故障,不少网络管理员都会使用Ping命令对网络连通性进行测试,测试结果表明此时的网络传输线路数据丢包现象非常严重,那么究竟是什么因素导致了...