1、粘包产生原因: (1)TCP为提高传输效率,发送方往往要收集到足够多的数据后才发送一个TCP段。若连续几次需要send的数据都很少,通常TCP会根据优化算法(Nagle)把这些数据合成一个TCP段后一次发送出去,这样接收方就收到了粘包数据; (2)接收方不知道消息之间的界限,不知道一次性提取多少 ...
分类:
其他好文 时间:
2018-07-10 19:17:15
阅读次数:
231
server端配置: client端配置: ...
分类:
编程语言 时间:
2018-07-08 22:01:59
阅读次数:
172
UDP通信过程 udp 不需要经过3次握手和4次挥手,不需要提前建立连接,直接发数据就行。 server端 client端 输出结果 粘包分析 第一种: server client 服务端结果:没有产生粘包 第二种: 输出结果 TCP VS UDP tcp基于链接通信 基于链接,则需要listen( ...
分类:
编程语言 时间:
2018-07-08 10:41:14
阅读次数:
169
TCP与UDP协议 粘包现象 socket收发消息的原理 应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可见的,因此TCP协议是面向流的协议,这也是容易出现粘包问题的原因。 而UDP是面向消息的协议,每个UDP段都是一条消息,应用程序必须以消息为单位提 ...
分类:
编程语言 时间:
2018-07-07 17:53:58
阅读次数:
188
复习 上节课复习: 1、C/S B/S client server browser server 其中服务端必须具备: 1、稳定运行,对外一直提供服务 2、绑定一个固定的ip+port 2、互联网: 2.1 物理连接介质 2.2 互联网协议(互联网协议即计算机界的英语) 3、tcp 三次握手 半连接 ...
分类:
编程语言 时间:
2018-07-07 00:22:24
阅读次数:
156
socket的半包,粘包与分包的问题 短连接: 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接: 连接->传输数据->保持连接 -> 传 ...
分类:
其他好文 时间:
2018-06-29 12:11:58
阅读次数:
153
被这3个(其实是2个)问题坑惨了,目前没发现存在丢包问题,之前认为的丢包问题事实是不存在的。 粘包和断包的情况是存在的,这两个问题不怕,只要发送接收到的数据包顺序没有被打乱颠倒,一切都好办。 容易掉的坑:acceptor.getFilterChain().addLast("threadPool", ...
分类:
Web程序 时间:
2018-06-27 00:19:09
阅读次数:
572
1 简述OSI 七层协议。2 什么是C/S和B/S架构?3 简述三次握手、四次挥手的流程。4 什么是arp协议?5 TCP和UDP的区别?6 什么是局域网和广域网?7 为何基于tcp协议的通信比基于udp协议的通信更可靠?8 什么是socket?简述基于tcp协议的套接字通信流程。9 什么是粘包? ...
分类:
编程语言 时间:
2018-06-21 01:27:57
阅读次数:
362
粘包现象 让我们基于tcp先制作一个远程执行命令的程序(1:执行错误命令 2:执行ls 3:执行ifconfig) 注意注意注意: res = subprocess.Popen(cmd.decode('utf-8'),shell = True,stderr = subprocess.PIPE,std ...
分类:
编程语言 时间:
2018-06-18 17:06:45
阅读次数:
214