FTP server 1、读取文件名 2、检测文件是否存在 3、打开文件 4、检测文件大小(告诉客户端发送文件的大小) 5、发送文件大小和MD5值给客户端,MD5 6、等待客户端确认(防止粘包) 7、开始边读边发数据 8、发送完整的MD5 9、关闭服务器 ...
分类:
其他好文 时间:
2017-08-21 09:46:20
阅读次数:
125
阅读目录 一 客户端/服务器架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 八 基于UDP的套接字 九 粘包现象 十 什么是粘包 十一 解决粘包的low比处理方法 十二 峰哥解决粘包的方法 十三 认证客户端的链接合 ...
分类:
编程语言 时间:
2017-08-20 10:12:09
阅读次数:
245
ssh服务器: 服务器: 客户端: 粘包: 只有TCP有粘包现象,UDP永远不会粘包。 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。 ...
分类:
编程语言 时间:
2017-08-20 00:47:06
阅读次数:
239
python已经学习了1个月了,希望自己能坚持下去。 源码方面,下载器多进程多线程似乎不合理了,可以尝试用携程减少CPU的使用率,但网页掉包的问题目前没想到 Ftp 思路清晰,但代码量太大,目前解决了通信粘包问题,但感觉代码有点渣可优化的地方实在太多。 目前还是先看教程,回头在从新弄。 html学习 ...
分类:
其他好文 时间:
2017-08-17 00:32:32
阅读次数:
180
本章内容 1.动态导入模块 2.粘包问题 3.paramkio(ssh链接模块) 4.多线程 5.GIL锁 6.互诉锁 7.递归锁 8.Semaphore(信号量) 9.事件(多线程标志位) 10.队列(queue) 11.生产者消费者模型 12.多进程 13.进程之间通讯 14.进程之间数据共享 ...
分类:
其他好文 时间:
2017-08-12 17:11:43
阅读次数:
296
为什么要用中断? 常用的现实生活中的例子是,如果你正在看电视,门铃响了你该咋整? 这里门铃响了就是一个中断(interrupt),我们放下电视去开门就是一个中断服务子程序(ISP) STM32的中断介绍 Cortex-M3 内核支持 256 个中断,包括 16 个内核中断和 240 个外部中断; S ...
分类:
其他好文 时间:
2017-08-06 23:06:38
阅读次数:
216
TCP是一个流协议 处理粘包问题 1、特殊字符 ‘\r\n'用来作边界,表示一个消息 2、发定长包,消息很短也发固定长度(极度浪费网络资源) 3、加包头记录数据长度用以区分消息 4、其他一些特殊应用协议 while((pid = waitpid(-1, NULL, WNOHANG))处理多进程中的僵 ...
分类:
其他好文 时间:
2017-08-06 21:57:30
阅读次数:
201
前记:本文所述的 tcpsock 库托管在 Github。 Golang 中的 net 标准库已对 TCP 网络编程作了简洁(却很不简单)的封装,基本上,可直接通过引用其提供的相关接口开发简易的网络应用程序。但我想封装一套简单并提供简洁调用接口的 TCP 网络库(即 tcpsock),以达到所谓组件 ...
分类:
其他好文 时间:
2017-08-04 20:27:36
阅读次数:
329
转自:http://www.01happy.com/golang-tcp-socket-adhere/ 在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?例如我们和客户端约定数据交互格式是一个json格式的字符串: 当客户端发送数据给服务端的时候,如果服务端没有及时接收,客户端 ...
分类:
其他好文 时间:
2017-07-30 19:05:41
阅读次数:
229
上篇博客留了个尾巴“而且LineBasedFrameDecoder据说还有一种不要求携带结束符的解码方式”,今天就从源码来看看是怎么回事。 一、基本原理 如果没有netty,用户自行拆包,原理是: netty的原理也是如此。 netty的原理也是如此。 LineBasedFrameDecoder的基 ...
分类:
Web程序 时间:
2017-07-28 13:27:20
阅读次数:
261