摘要:
学习完了rabbitmq总一下 RabbitMQ依赖的语言 erlang 第一它可以实现不同程序之间的程序信息储存交互,在易用性、扩展性、高可用性的方面不俗。 rabbitmq相当于一个中间人,我们同过它把消息发送出去, 分发消息和做任务的机制有这几种: 1,轮询分发消息, 2,消息持久化, 3,广 阅读全文
摘要:
一,前言 如果我们一个生产者,对应多个消费者,rabbitmq 会发生什么呢 二,消息分发轮询 前提条件:1个生产者 > 多个消费者,且no_ack=True (启动三次生产者) ①初始化状态:3个消费者都在等待生产者发消息 ②生产者发第1条消息:只有第1个消费者受到消息,第2个和第3个消费者没有收 阅读全文
摘要:
一,前言 rabbitmq ,是用来发消息的,消息队列,那它跟我们之前的学习的python的线程queue和进程的queue有什么区别呢?其实他们干的事情都是一样的。先来说说我们之前学习的python的queue吧。 线程queue:只是用于多个线程之间,进行数据同步交互的 进程queue:只是用户 阅读全文
摘要:
上述通过socket来实现了其本质,而对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理。应用程序则负责具体的逻辑处理。为了方便应用程序的开发,就出现了众多的Web框架,例如:Dj 阅读全文
摘要:
一、概述 1 什么是数据库? 答:数据的仓库,如:我们创建了一个 db 目录,称其为数据库 2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 答:他们均是一个软件,都有两个主要的功能: 1、将数据保存到文件或内存 2、接收特定的命令,然后对文件进行相 阅读全文
摘要:
首先说为什么会粘包,在py2上运行时,服务器把两次发送的操作强制的合成一次发送给客户端,所以 粘在一起了,因为python3的版本是可以的,但是有的时候python3也会出现粘包现象。 解决粘包的问题有两种方法: 1 可以先sleep一下,这个样子就可以使缓冲区超时,就不在等下一次的了,这样就可以和 阅读全文
摘要:
实现大文件传输 就是说服务端给客户端发数据之前,先计算一下给客户端要发多少数据,我先判断 len 一下,就 ok 了,先让客户端知道服务端发送过来的大小,比如说发过来的是5k大小,客户端接收到了这个5k大小以后,就知道需要接收多少次了,循环接收,直到5k数据全部接收完毕为止 客户端代码:和服务端 这 阅读全文
摘要:
客户端:客户端实例 > 建立连接 > 发送内容 > 接受内容。 服务端:客户端实例 --> 绑定ip + 端口 > 监听客户端连接 —> 接受客户端数据 >发送数据至客户端。 但是这里面有一个问题就是大数据怎么上传下载呢。里面有一个缓冲区的问题,上面recv(500)这里我们最多是接受500 我接收 阅读全文
摘要:
py2 只有两种数据类型 一种是bite ,一种是unicode 这两种区分的不是很明显,在ASCII里面有的字符两种是可以拼接(隐士的转换),在ASCII以外的不能拼接,这就时它的毛病 PY3 对bite (二进制) 和 str 做出了明确的区分,文本是以str来储存的,二进制是用bite来存的 阅读全文
摘要:
网络编程 计算机网路把各个计算机链接到一起,让网路中的计算机可以与互相通信,网路编程在程序中实现了两台计算机的通信。 网络编程对所有的开发语言都是一样的,python也不例外,用python进行忘络编程就是在python程序的进程内链接别的服务器进程的通信端口进行通信。 TCP 和 IP 早期各个厂 阅读全文