TCP面向字节流 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容器装(杯子.矿泉水瓶.锅碗瓢盆)接水. 上面的例子中,往水池里倒几次水和接几次水是没有必然联系的,也就是说你可以只倒一次水,然后分10次接完.另外,水池里的水接多少就会少多少:往里面倒多少水,就会增加多少水,但是不能超过水池的容量,多出的水会溢出. 结合TCP的概念,水池就好比接收缓存,倒水就相当于发送数据,接水就相当于读取数据.好比你通过TCP连接给另一…
为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?     假设现在有内网客户端A和内网客户端B,有公网服务端S.     如果A和B想要进行UDP通信,则必须穿透双方的NAT路由.假设为NAT-A和NAT-B.          A发送数据包到公网S,B发送数据包到公网S,则S分别得到了A和B的公网IP, S也和A B 分别建立了会话,由S发到NAT-A的数据包会被NAT-A直接转发给A, 由S发到NAT-B的数据包会被NAT-B直接转发给…
为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?     假设现在有内网客户端A和内网客户端B,有公网服务端S.     如果A和B想要进行UDP通信,则必须穿透双方的NAT路由.假设为NAT-A和NAT-B.          A发送数据包到公网S,B发送数据包到公网S,则S分别得到了A和B的公网IP, S也和A B 分别建立了会话,由S发到NAT-A的数据包会被NAT-A直接转发给A, 由S发到NAT-B的数据包会被NAT-B直接转发给…
转载:http://blog.csdn.net/wanghaobo920/article/details/11877589 面向报文(UDP)和面向字节流(TCP)的区别 面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文.因此,应用程序必须选择合适大小的报文.若报文太长,则IP层需要分片,降低效率.若太短,会是IP太小.UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界.这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一…
转自http://www.linuxidc.com/Linux/2014-11/109545.htm “TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?以下是我的理解,仅供参考! .TCP 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容器装(杯子.矿泉水瓶.锅碗瓢盆)接水. 上面的例子中,往水池里倒几次水和接几次水是…
关于TCP和UDP的分次发送和接收的问题,困惑了两天,看到这篇文章豁然开朗. 原文链接:http://network.51cto.com/art/201310/413326.htm “TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?以下是我的理解,仅供参考! 1.TCP 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容…
两者的区别在于TCP接收的是一堆数据,而每次取多少由主机决定;而UDP发的是数据报,客户发送多少就接收多少. 拥有这些区别的原因是由于TCP和UDP的特性不同而决定的.TCP是面向连接的,也就是说,在连接持续的过程中,socket中收到的数据都是由同一台主机发出的,因此,知道保证数据是有序的到达就行了,至于每次读取多少数据自己看着办. 而UDP是无连接的协议,也就是说,只要知道接收端的IP和端口,且网络是可达的,任何主机都可以向接收端发送数据.这时候,如果一次能读取超过一个报文的数据,则会乱套.…
TCP.IP四层模型 (网络接口层,网际互联层,传输层,应用层.) (左边是车模,右边是实际生产的车.) 物理层,负责0101比特流传递. 数据链路层,MAC地址负责局域网,内网通信.MAC地址,由48位编码组成,也就是6个16进制值数表示. 网络层,IP.确定IP地址.IP地址负责公网,外网通信. 传输层,TCP.UDP.确定端口号. TCP面向连接,可靠的协议. UDP,不管你在不在,我都把数据传给你.好处是比TCP快,坏处是数据可能会丢.TCP像电话.UDP像发短信. QQ采用的是UDP,…
1.TCP是什么? TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源. TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制.重传机制.拥塞控制机制…
TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少: 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 UDP应用场景: 1.面向数据报方式 2.网络数据大多为短消息 3.拥有大量Client 4.对数据安全性无特殊要求 5.网络负担非常重,但对响应速度要求高 具体编程时的区别 1.socket()的参数不同  2.UDP Server不需要调用listen和a…