rst

Python编程语言之`.rst`文件扩展名

旧街凉风 提交于 2019-11-30 13:49:20
Python编程语言之 .rst 文件扩展名 定义: reStructuredText 是文件扩展名为 .rst 的纯文本文件,含义是”重新构建的文本”,也被称为RST或者是reST; reStructuredText reStructuredText 是Python编程语言的 Docutils 项目的一部分, Python Doc-SIG (Documentation Special Interest Group)。该项目类似于Java的JavaDoc或者Perl的POD项目。Docutils能够从Python程序中提取注释和信息,格式化成程序文档。 .rst 文件是轻量级标记语言的一种,被设计为容易阅读和编写的纯文本,并且可以借助Docutils这样的程序进行文档处理,也可以转换为HTML或者PDF等多种格式,或者由Sphinx-Doc这样的程序转换为LaTex、man等更多格式。 JackDan Thinking 来源: CSDN 作者: JD9 链接: https://blog.csdn.net/XXJ19950917/article/details/81347142

连接池你用对了吗?一次Unexpected end of stream异常的排查

一个人想着一个人 提交于 2019-11-29 18:20:28
能收获什么? 更加了解TCP协议 Redis与客户端关闭连接的机制 基于Apache Common连接池的参数调优 Linux网络抓包 情况简介 近期迁移了部分应用到K8s中,业务开发人员反馈说,会发现频繁出现 : redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream. 堆栈如下图: 发生这个问题的应用的环境如下: Java8 Jedis 2.9.0 排查 由于开发人员说近期才出现这个情况,我们首先怀疑是不是K8s环境的问题,进行了一轮K8s的网络环境问题排查。 我们首先利用tcpdump在node节点和容器内进行抓包。 tcpdump -i <interfaceName> -C 100 -s0 -n -w node.pcap tcp 不出意外我们确实发现了大量由Redis服务器响应给客户端的RST(TCP Reset)包,连接重置。 至此我们还是怀疑是网络不稳定引起的。 我们搜索了TCP RST相关内容,可以看到RST一般由下列的几个情况引起: 到不存在的端口的连接请求 异常终止一个连接 检测半打开连接 极客的Redis,不按规矩出牌的"RST"? 随后我们又对网络又进行了几轮的测试。 突然觉得有点不对劲,我们点开了RST包之前的包查看了包的内容。

Broken pipe错误终极解释

好久不见. 提交于 2019-11-29 03:19:51
叙述 想必或多或少在Java的服务器都会遇到过这种异常,如下图 由于Java偏上层,日常开发接触系统底层的机会偏少,要搞清楚什么原因导致的这种异常,肯定是先要百度google一番。 网络解释云里雾里 百度+google下,巴拉巴拉还真不少介绍这个错误的文章。欣喜地翻了一篇又一篇,但好像我依旧不明白具体什么原因导致的,云里雾里啊。好吧,举两个例子: 例子一: 这上边说的好像有点道理,写个代码做个试验验证下吧!直接上代码: //client程序 public static void main(String[] args) { try { Socket s = new Socket(); s.connect(new InetSocketAddress("127.0.0.1",3113)); OutputStream os = s.getOutputStream(); os.write("hello".getBytes()); s.close(); System.in.read();//防止程序退出 }catch (Exception e){ e.printStackTrace(); } } //server程序 public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(3113);

FPGA程序编译后逻辑单元数为0

烈酒焚心 提交于 2019-11-27 12:33:02
问题 FPGA代码写完后编译不报错,但是显示使用的逻辑单元数(Total logic elements)为0。当然程序也不工作。 我用的是Intel Altera FPGA,verilog语言,在Quartus下开发。 原因 顶层模块没有有效的输出。例如输出没有赋值,或者输出连接着子模块,但是子模块中出现问题。 如果没有正确地设置顶层模块的输出,则编译时优化,认为模块无输出,或者输出无需逻辑单元。 举例1: module test ( input clk, input rst, output out1, output out2, output out3 ); assign out1 = clk; assign out2 = ~clk; endmodule out1直接将时钟信号输出,未做任何处理;out2将时钟信号反相输出,只需要一个非门,不需要逻辑单元;而out3没有任何处理。 因此上述代码编译得到的逻辑单元数为0。 举例2: module test ( input clk, input rst, input [3:0] data, output out ); reg [3:0] store [7:0]; reg [3:0] k; always @ (posedge clk or negedge rst) begin if (!rst) k <= 1'b0; else begin

组合逻辑always信号敏感列表对电路的影响

。_饼干妹妹 提交于 2019-11-27 12:13:01
在verilog编写组合逻辑电路的时候会遇到敏感列表的信号应该包含哪些的问题,因此做如下仿真来验证信号敏感列表对电路的影响。在两个仿真例中通过设定不同的信号敏感列表来对比综合出来的仿真结果从而验证 信号敏感列表不影响最终的电路 信号敏感列表不完整 module mod_test( rd, rst, outdata ); input rd; input rst; output reg outdata; always@(rst) if(!rst) outdata = 1'b0; else outdata = rd; endmodule RTL视图 前仿真 后仿真 信号敏感列表完整 module mod_test( rd, rst, outdata ); input rd; input rst; output reg outdata; always@(rst or rd) if(!rst) outdata = 1'b0; else outdata = rd; endmodule RTL视图 前仿真 后仿真 结论 always信号敏感列表是否完整对综合出来的RTL视图、门级仿真、最终电路没有影响,但是会影响行为级仿真,不在敏感信号列表里面的信号无法触发和该信号相关的仿真进程,也就得不到正确的仿真结果。在verilog_IEEE官方标准手册-2005_IEEE_P1364手册有如下表述。

网络编程Socket之RST详解

半城伤御伤魂 提交于 2019-11-27 08:30:59
网络编程Socket之RST详解 产生RST的三个条件: 目的地为某端口的SYN到达,然而该端口上没有正在监听的服务器; TCP想取消一个已有的连接; TCP接收到一个根本不存在的连接上的分节; 现在模拟上面的三种情况: client: #include <stdio.h> #include <string.h> #include <unistd.h> #include <netinet/in.h> #include <arpa/inet.h> #include <errno.h> #define SERV_PORT 8000 int main() { struct sockaddr_in serverAdd; bzero(&serverAdd, sizeof(serverAdd)); serverAdd.sin_family = AF_INET; inet_pton(AF_INET, "127.0.0.1", &serverAdd.sin_addr); serverAdd.sin_port = htons(SERV_PORT); int connfd = socket(AF_INET, SOCK_STREAM, 0); int connResult = connect(connfd, (struct sockaddr*) & serverAdd, sizeof(serverAdd

出现RST的几种情况

落爺英雄遲暮 提交于 2019-11-27 01:31:05
1、端口未打开,C向S发送SYN,去连接S的端口9820,但是S没有打开9820端口,这个时候S发送RST 2、请求超时,C向S发送SYN,S回复ACK+SYN,如果C从发送SYN到收到S的ACK+SYN,时间过长,认为超时,C发送RST,表示拒绝进一步发送数据。 3、提前关闭连接,S端tcp协议收到的数据,应用程序没有接收,S发送RST,提前关闭连接。 4、S端socket调用close不愿再接收数据,但是还是从C收到数据,发送RST 转载于:https://www.cnblogs.com/nzbbody/p/4333412.html 来源: https://blog.csdn.net/weixin_30896657/article/details/99234281

TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)

自闭症网瘾萝莉.ら 提交于 2019-11-26 16:53:38
TCP的状态 (SYN, FIN, ACK, PSH, RST, URG) 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段。 它们的含义是: SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置。 其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应, 如果只是单个的一个SYN,它表示的只是建立连接。 TCP的几次握手就是通过这样的ACK表现出来的。 但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接。 RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。 一般地,当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;而当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接。 PSH为1的情况,一般只出现在 DATA内容不为0的包中,也就是说PSH为1表示的是有真正的TCP数据包内容被传递。 TCP的连接建立和连接关闭,都是通过请求-响应的模式完成的。 概念补充-TCP三次握手: TCP(Transmission Control Protocol)传输控制协议