使用UDP注意事项1.UDP报文可能会丢失、重复、乱序 2.UDP缺乏流量控制:当缓冲区写满以后,由于UDP没有流量控制机制,因此会覆盖缓冲区。 3.UDP协议数据报文截断:如果接收到的UDP数据报大于缓冲区,报文可能被截断,后面的部分会丢失。 4.使用UDP: recvfrom返回0,不代表连接关闭,因为UDP是无连接的。 而且sendto可以发送数据0包(只含有UDP首部[20字节]);...
分类:
其他好文 时间:
2014-12-11 12:23:05
阅读次数:
178
UDP特点 无连接,面向数据报(基于消息,不会粘包)的数据传输服务; 不可靠(可能会丢包),但一般情况下UDP更加高效; UDP客户/服务基本模型UDP基础API1.RecvfromSYNOPSIS #include
#include
ssize_t recvfrom(int sockfd, void *buf, size_t len,...
分类:
其他好文 时间:
2014-12-11 12:22:19
阅读次数:
186
一、概念:
IP是TCP / IP协议族中最为核心的协议。所有的TCP、UDP、ICM P及IGMP数据都以I P数据报格式传输。许多刚开始接触TCP/IP的人对I P提供不可靠、无连接的数据报传送服务感到很奇怪,特别是那些具有X.25或SNA背景知识的人。
不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。如果发生某...
分类:
其他好文 时间:
2014-12-09 14:04:44
阅读次数:
309
在前面的文章中《TCP 的交互数据流》我们可以知道,TCP 的成块数据流是在要求传输效率较高的情况下使用,例如 FTP。对于这些要求传输 TCP 最长报文段的应用,TCP 协议采用了滑动窗口协议,使发送端在等待确认前可以连续发送多个分组。
一般来说,发送端发送一个 TCP 数据报,则接收端就应该发送一个 ACK 数据报。但在实际应用中却并非如此,而是发送端将连续发送数据报保存在接受端的缓冲区中,并且尽量使其填满,接受端对这些连续发送的数据报只发送一个 ACK 报文应答,这就是 ACK 的累积...
分类:
其他好文 时间:
2014-12-09 12:22:00
阅读次数:
171
引入:现在我们来看JDWP层的数据包。源码在JDK中很容易找到,它定义$JAVA_HOME/include/jdwpTransport.h头文件中。分析:Part1:握手过程(handshake)握手包发生在Debugger(JDI端)和TargetVM(JVMTI端)的传输层连接建立,并且在发送任何实际数据报之前完成的。它过程如下:a.D..
分类:
其他好文 时间:
2014-12-08 19:48:29
阅读次数:
200
lsof [options] filename 列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述.....
分类:
其他好文 时间:
2014-12-06 12:45:25
阅读次数:
200
Windows下rsync同步数据报错如下图:解决方法:此报错原因(rsync服务器端无法连接到客户端212.246)检测69.251服务器端到客户端的rsync端口是否通873发现69.251到客户端212.246的端口873是不通的,在212.246上面的防火墙规则加上873端口。再次运行此同步脚本即可。
流协议与粘包粘包的表现Host A 发送数据给 Host B; 而Host B 接收数据的方式不确定 粘包产生的原因 说明TCP字节流,无边界对等方,一次读操作,不能保证完全把消息读完UDP数据报,有边界对方接受数据包的个数是不确定的 产生粘包问题的原因分析 1、SQ_SNDBUF 套接字本身有缓冲区 (发送缓冲区、接受缓冲区) 2、tcp传送的端 mss大小限制 3、链路层...
分类:
其他好文 时间:
2014-12-04 21:42:38
阅读次数:
365
对于一个学习网络协议的新手来说,碰到校验和这个词的时候可能会存在疑惑,看书本上讲的左想右想不知道再讲什么;只要你弄明白IP校验和的原理,I C M P、I G M P、U D P和T C P的校验和也就很好理解了。
上图是一般IP数据报的格式,若仅仅去理解校验和就不必去看这些字段的细节。如果没有在‘选项’里面添加内容,那么前面20字节为IP数据包的首部,IP校验和就是对这10个...
分类:
其他好文 时间:
2014-12-03 19:26:08
阅读次数:
112