handler

2020/01/15 03-socketserver模块

半腔热情 提交于 2020-01-16 01:25:54
socket库比较底层,但是之前在写tcp server的时候,需要多线程, 那对底层的socket进行封装,有了socketserver base一般只是完成部分功能,并没有全部完成,基于baseserver扩展,有了TCPServer,TCP server和UDPserver有部分代码重合,TCPServer派生出一个UDPserver, UDPserver把跟tcpserver 不一样的地方覆盖掉了 然后再衍生出其他的类,UnixStreadmServer,UnixDatagramserver 一般直接使用TCPserver和使用UDPserver 现在的TCPserver和UDPserver是同步的库,不支持多线程,不支持并发 提供了4个类,TCPserver,UDPserver,UnixStreamserver,UnixDatagramserver,是同步类 MIxin是来增强功能的,靠MIO,把mixin往前放,优先使用的属性从MIO的第一位MIXIN属性来,抢在被人前面来 Mixin是多继承来实现的,是放在继承列表的第一个 ForkingMixin 进程间的forking ,多进程方式 ThreadingMixin 多线程间的,相当于给TCP,UDPserver增加多线程能力 4个mixin出来的完全是异步的 TCPserver和UDPserver当同步来用

Visual C++中的异常处理浅析

心已入冬 提交于 2020-01-16 00:23:37
Visual C++中的异常处理浅析 作者: 宋宝华 出处: 天极网 责任编辑: 方舟   Visual C++提供了对C语言、C++语言及MFC的支持,因而其涉及到的异常(exception)处理也包含了这三种类型,即C语言、C++语言和MFC的异常处理。除此之外,微软对C和C++的异常处理进行了扩展,提出了结构化异常处理(SEH)的概念,它支持C和C++(与之相比,MFC异常处理仅支持C++)。   一个典型的异常处理包含如下几个步骤:   (1)程序执行时发生错误;   (2)以一个异常对象(最简单的是一个整数)记录错误的原因及相关信息;   (3)程序检测到这个错误(读取异常对象);   (4)程序决定如何处理错误;   (5)进行错误处理,并在此后恢复/终止程序的执行。   C、C++、MFC及SEH在这几个步骤中表现出了不同的特点。本文将对这四种异常处理进行介绍,并对它们进行对比分析。本文例程的调试平台为Visual C++6.0,操作系统为Windows XP,所有程序均调试通过。   在进入正式的讲解之前,先说几句废话。许多的编程新手对异常处理视而不见,程序里很少考虑异常情况。一部分人甚至根本就不考虑,以为程序总是能以正确的途径运行。譬如我们有的程序设计者调用fopen打开一个文件后,立马就开始进行读写操作,根本就不考虑文件是否正常打开了。这种习惯一定要改掉

Visual C++中的异常处理浅析[轉]

China☆狼群 提交于 2020-01-15 22:59:45
Visual C++ 提供了对 C 语言、 C++ 语言及 MFC 的支持,因而其涉及到的异常( exception )处理也包含了这三种类型,即 C 语言、 C++ 语言和 MFC 的异常处理。除此之外,微软对 C 和 C++ 的异常处理进行了扩展,提出了结构化异常处理( SEH )的概念,它支持 C 和 C++ (与之相比, MFC 异常处理仅支持 C++ )。 一个典型的异常处理包含如下几个 步骤 : (1)程序执行时发生错误; (2)以一个异常对象(最简单的是一个整数)记录错误的原因及相关信息; (3)程序检测到这个错误(读取异常对象); (4)程序决定如何处理错误; (5)进行错误处理,并在此后恢复/终止程序的执行。 C、C++、MFC及SEH在这几个步骤中表现出了不同的特点。本文将对这四种异常处理进行介绍,并对它们进行对比分析。本文例程的调试平台为Visual C++6.0 ,操作系统为 Windows XP ,所有程序均调试通过。 在进入正式的讲解之前,先说几句废话。许多的编程新手对异常处理视而不见,程序里很少考虑异常情况。一部分人甚至根本就不考虑,以为程序总是能以正确的途径运行。譬如我们有的程序设计者调用fopen打开一个文件后,立马就开始进行读写操作,根本就不考虑文件是否正常打开了。这种习惯一定要改掉,纵使你再不愿意!这是软件健壮性的需要!异常处理不是浪费时间!

logging模块

妖精的绣舞 提交于 2020-01-15 21:25:08
函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message') 默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG),默认的日志格式为日志级别:Logger名称:用户输出消息。 灵活配置日志级别,日志格式,输出位置: import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', datefmt='%a, %d %b %Y %H:%M:%S', filename='/tmp/test.log', filemode='w') logging.debug('debug message')

SpringMVC执行流程

非 Y 不嫁゛ 提交于 2020-01-15 13:01:20
一、springMvc概念 springMvc是基于servlet的web框架,其简化了web程序的开发 二、springMvc请求流程 在阅读时不妨可以带着几个问题阅读: 1.我们通常在浏览器输入的接口怎么由DispatcherServlet调到具体的Handler的(就是我们自己开发的Controller类) 2.编写Controller的形式有哪几种? springMvc重要组件: 之所以先说这几个组件,是因为只要了解了这几个组件后你便可以对springMvc请求流程有个大致的清晰认识了。(Handler就是我们写的Controller) HandlerMapping HandlerAdapter ViewResolver View HandlerExceptionResolver HandlerInterceptor DisPatcher作为一个主流程入口,看一下DispatcherServlet结构 DispatcherServlet为了简洁,省去了很多方法跟属性 public class DispatcherServlet extends FrameworkServlet { //定义了默认策略名字 private static final String DEFAULT_STRATEGIES_PATH = "DispatcherServlet.properties";

Widget stops updating after a few minutes

半世苍凉 提交于 2020-01-15 11:43:38
问题 Im developing a widget that shows the time and date using two TextView using a timer to update every second: final Handler handler = new Handler(); Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { java.util.Date noteTS = Calendar.getInstance().getTime(); String time = "kk:mm"; String date = "dd MMMMM yyyy"; views.setTextViewText(R.id.tvTime, DateFormat.format(time, noteTS)); views

Widget stops updating after a few minutes

大城市里の小女人 提交于 2020-01-15 11:43:07
问题 Im developing a widget that shows the time and date using two TextView using a timer to update every second: final Handler handler = new Handler(); Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { java.util.Date noteTS = Calendar.getInstance().getTime(); String time = "kk:mm"; String date = "dd MMMMM yyyy"; views.setTextViewText(R.id.tvTime, DateFormat.format(time, noteTS)); views

SpringMVC_执行原理

拜拜、爱过 提交于 2020-01-15 10:19:19
springMVC 原理图: springMVC执行原理图: 前期准备,借助maven导入依赖后,在web.xml中注册DisPatchServlet。 springMVC有四大核心:前端控制器 处理器映射器 处理器适配器 视图解析器 简要分析执行流程 DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。 我们假设请求的url为 : http://localhost :8080/SpringMVC/hello 如上url拆分成三部分: http://localhost :8080服务器域名 SpringMVC部署在服务器上的web站点 hello表示控制器 通过分析,如上url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器。 HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。 HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为:hello。 HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等。

Android, How to use animation in order to show blinking?

时光总嘲笑我的痴心妄想 提交于 2020-01-15 06:25:30
问题 In my application, I have recording button. I want when user clicks on it each one second i change the background in order to simulate blinking. I created a handler and set it to 1 second therefore each one second this handler runs. Here i change the background. this my code: mUpdateUITimerTask = new Runnable() { public void run() { // Simulating blinking for capture button if(bolToggle) { bolToggle = false; captureButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.btn_record

Android混合开发之WebView与Javascript交互

依然范特西╮ 提交于 2020-01-15 05:41:34
前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与java互相调用的需求。它就是WebViewJavascriptBridge。 学习动机: 先看下之前的解决办法: Android混合开发之WebView与Javascript交互 最近棒棒安全的一个市场推广来我们公司推广他们的产品,当时也没太引起我的注意,后来这个市场推广人员把我们的app的进行了他们的安全验证,然后发给我一份检测报告,关于WebView的检测内容大致如下: 其实目前公司采用H5的业务都是相对不是很重要的一些业务,而且安全性要求相对比较低,不过作为技术负责人的我,觉得现在很有必要尽快寻找一个相对安全的方式来解决这个问题,算是未雨绸缪吧。经过搜过资料寻找的解决办法就是使用WebViewJavascriptBridge来实现Js与Java的互相调用。 WebViewJavascriptBridge介绍: WebViewJavascriptBridge是WebView和Js交互通信的桥梁,用作者的话来说就是实现java和js的互相调用的桥梁。替代了WebView的自带的JavascriptInterface的接口,使得开发者更方便的让js和native灵活交互