06 2016 档案

摘要:一 简述 Tcp消息的处理本身是与Tcp消息传输过程独立的,是消息的两个不同阶段,从前面的会话生命周期我们已经知道消息的传输主要有SocketSession实现,而真正处理则交由AppSession实现,SuperSocket的层次划分也是非常清晰明了。 SuperSocket消息处理主要流程:接收 阅读全文
posted @ 2016-06-28 16:23 cuit_igis 阅读(4994) 评论(5) 推荐(4)
摘要:一 基本概念 会话(Session)是客户端与服务器进行通信的基本单元,也是一个Socket的封装,在http协议中也有Session机制,其主要作用封装一个通信单元socket,负责服务器与客户端消息发送与接收,会话之间相互独立互不干扰且拥有唯一SessionId标识,维护着客户与服务器通信的生命 阅读全文
posted @ 2016-06-27 21:13 cuit_igis 阅读(4396) 评论(2) 推荐(0)
摘要:一 简介 这里主要说明从配置系统引导启动SuperScoekt作为应用程序,且以控制台程序方式启动 二 启动过程 2.1 配置解析 从读取配置文件开始,直接拿到一个SocketServiceConfig对象,这个类型封装了SuperSocket的所有配置,其主要包含了一下参数 1)服务器根配置 配置 阅读全文
posted @ 2016-06-27 17:06 cuit_igis 阅读(3504) 评论(0) 推荐(2)
摘要:一 继承Net配置系统 Net应用程序配置机制跟程序集引用大致类似,均具有继承性,如iis几乎每个应用程序都会有一个Web.config,比如我们使用vs2012以上版本创建一个web应用程序会自带一个web.config配置文件,这个配置文件属于整个应用程序全局配置文件,再有某些个别目录下也会存在 阅读全文
posted @ 2016-06-26 22:36 cuit_igis 阅读(5694) 评论(1) 推荐(0)
摘要:一 简介 官方介绍:SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架。你无须了解如何使用 Socket, 如何维护 Socket 连接和 Socket 如何工作,但是你却可以使用 SuperSocket 很容易的开发出一款 Socket 服 阅读全文
posted @ 2016-06-26 15:05 cuit_igis 阅读(7400) 评论(0) 推荐(4)
摘要:设计模式之日志工厂 中提到了非常典型的工厂模式生产对象实例,但是但是工厂模式后期呢? 好吧,我们经常见到Provider,XXXProvider,是的没错提供器,干什么的,通过看Supersocket源代码发现在大量工厂模式身后不断涌现出Provider这个神奇的东西,来看代码 1 [Seriali 阅读全文
posted @ 2016-06-24 17:01 cuit_igis 阅读(386) 评论(0) 推荐(0)
摘要:一 自定义事件 1 之前一直都是使用事件调用来触发事件,看代码 // 定义一个事件 public event EventHandler; //触发事件 public void OnEvent(){ if(EventHandler!=null){ EventHandler(this,EventArgs 阅读全文
posted @ 2016-06-24 10:54 cuit_igis 阅读(381) 评论(0) 推荐(0)
摘要:Task是基于ThreadPool线程池基础上的高度异步多线程编程,如果有一天我希望一个需要长时间运行的Task,在被某些异常终止后还能回调一些代码就可以知道Task终止的原因了吧 是的,且看代码 public static Task AsyncRun(this ILoggerProvider lo 阅读全文
posted @ 2016-06-22 15:04 cuit_igis 阅读(419) 评论(0) 推荐(0)
摘要:在看Supersocket源码的时候发现很多地方都用到了我们不是很常用的线程安全集合,这些都是由net优化后的线程安全集合因此 应该比我们常规lock来效率好一些 比如说: 1 CurrentStack 线程安全栈 2 ConcurrentDictionary 线程安全字典, 阅读全文
posted @ 2016-06-20 10:59 cuit_igis 阅读(777) 评论(0) 推荐(0)
摘要:在看supersocket都时候发现里面都日志接口使用了典型都工厂设计模式,在此总结一下基本都思路 1 首先我想创建一个实现某个接口的对象 2 我想使用一个工厂来创建这个接口对象 3 这个工厂需要实现该接口都类来生产该接口对象 代码是实现 比如: 1 定义一个接口 public interface 阅读全文
posted @ 2016-06-19 00:08 cuit_igis 阅读(867) 评论(0) 推荐(0)
摘要:浅谈ThreadPool 线程池 http://www.cnblogs.com/xugang/archive/2010/04/20/1716042.html 阅读全文
posted @ 2016-06-16 11:58 cuit_igis 阅读(154) 评论(0) 推荐(0)
摘要:测试工具 http://download.csdn.net/download/hyzhou1121/9550868 阅读全文
posted @ 2016-06-16 08:32 cuit_igis 阅读(153) 评论(0) 推荐(0)
摘要:此处参考自阿涛的博文:http://www.cnblogs.com/HelloMyWorld/p/5526914.html 一 自己定义 基本的思路: net中异步操作由于是交给线程来实现,因此不可能真正想js那样将一个单线程上的任务移除:如 var id=setTimeout(fun,200); 阅读全文
posted @ 2016-06-15 17:03 cuit_igis 阅读(377) 评论(0) 推荐(0)
摘要:TPL异步并行编程之简单使用 在上篇随笔里面说明了Task的使用,仅仅是简单使用,有时候把一个任务交给Task去执行,但是呢还是要管理下,比如说:我要叫这个任务停止了,不做了,任务取消了,或者超时了 在传统的While里面我们可以这样做,1 通过标识 2 通过一个方法抛异常,3 其他办法 举个例子: 阅读全文
posted @ 2016-06-14 15:13 cuit_igis 阅读(352) 评论(0) 推荐(0)
摘要:并行编程一直是一个老生常谈的话题 在这里记录一下TPL编程,这在net4.0 微软就已经提供了多核时代下的并行库,其中最核心的最常用的也就是Task 一 Task是什么 Task可以简单的理解为一个线程的封装,向外部暴露几种接口,如常见的Task.Run,Task.Factory.StartNew; 阅读全文
posted @ 2016-06-14 13:14 cuit_igis 阅读(1054) 评论(0) 推荐(0)
摘要:VS2015 C#6.0 中的那些新特性 前言 VS2015在自己机器上确实是装好了,费了老劲了,想来体验一下跨平台的快感,结果被微软狠狠的来了一棒子了,装好了还是没什么用,应该还需要装Xarmain插件,配置一些参数吧,由于这块之前从未接触过,想了想还是先不把时间继续浪费在这里了,于是乎来体验一下 阅读全文
posted @ 2016-06-12 12:58 cuit_igis 阅读(325) 评论(0) 推荐(0)
摘要:百度地图js版 的导航控件按钮,在webapp有几点问题 1 不好点击,也就是点不中 2 不能置灰,也就是说当缩小到最小的时候,按钮应该为灰色,反之放大到最大也该为灰色 基于以上2点,自定一下,其实很简单,目的在于可以自己来控制 代码如下 其中css代码如下 注意这里面的 “+” “-”号使用了自定 阅读全文
posted @ 2016-06-06 13:18 cuit_igis 阅读(1325) 评论(0) 推荐(0)
摘要:在一道面试题中看到的。 1、功能讲解: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内的文本 outerText 设置(包括标签)或获取(不包括标签)对象的文本  阅读全文
posted @ 2016-06-05 21:33 cuit_igis 阅读(256) 评论(0) 推荐(0)
摘要:参考地址:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html 阅读全文
posted @ 2016-06-02 21:49 cuit_igis 阅读(171) 评论(0) 推荐(0)
摘要:app有时候会使用网页作为一些功能页面,好处自然是有很多,但是也得调试 1 android app调试 自然是chrome remote debug 在android里面自带的浏览器一般都是基于chrome webkit内核的浏览器所以天生就是chrome一家的 chrome remote debu 阅读全文
posted @ 2016-06-02 16:36 cuit_igis 阅读(607) 评论(0) 推荐(0)