冠冕堂皇

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  概念

1 2 下一页

摘要:MIB文件索引。http://www.icir.org/fenner/mibs/mib-index.htmlhttp://www.simpleweb.org/ietf/mibs/http://www.mibsearch.com 阅读全文
posted @ 2013-12-25 16:01 冠冕堂皇 阅读(335) 评论(0) 推荐(0)

摘要:SocketAsyncEventArgs是.net提供的关于异步socket类,封装了IOCP的使用,可以用它方便的实现NIO(non-blocking IO)NIO对于提升某些场景下Server性能和吞吐量有很大益处,准备在服务框架中使用它来编写简易rpc的部分微软官方的demo代理有所缺少:http://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.aspx还有篇老外写的补充了缺少的代码:http://www.codeproject.com/KB/IP/socketasynceventarg 阅读全文
posted @ 2013-07-25 13:40 冠冕堂皇 阅读(521) 评论(0) 推荐(0)

摘要:from:http://www.cnblogs.com/zhoutk/archive/2012/12/26/2833495.html最近有项目要做一个高性能网络服务器,决定下功夫搞定完成端口(IOCP),最终花了一个星期终于把它弄清楚了,并用C++写了一个版本,效率很不错。但,从项目的总体需求来考虑,最终决定上.net平台,因此又花了一天一夜弄出了一个C#版,在这与大家分享。一些心得体会:1、在C#中,不用去面对完成端口的操作系统内核对象,Microsoft已经为我们提供了SocketAsyncEventArgs类,它封装了IOCP的使用。请参考:http://msdn.microsoft.c 阅读全文
posted @ 2013-07-25 13:35 冠冕堂皇 阅读(604) 评论(0) 推荐(1)

摘要:作者:蓝形参,Geek 伪技术宅 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回来),这时候该怎么办?阻塞:阻塞是个什么概念呢?比如某个时候你在等快递,但是你不知道快递什么时候过来,而且你没有别的事可以干(或者说接下来的事要等快递来了才能做)... 阅读全文
posted @ 2013-07-25 13:24 冠冕堂皇 阅读(305) 评论(0) 推荐(0)

摘要:一、I/O模型首先,输入操作一般包含两个步骤:1、等待数据准备好(waiting for data to be ready)。对于一个套接口上的操作,这一步骤关系到数据从网络到达,并将其复制到内核的某个缓冲区。2、将数据从内核缓冲区复制到进程缓冲区(copying the data from the kernel to the process)。二、I/O模型类型其次了解一下五种I/O模型:blocking I/Ononblocking I/OI/O multiplexing (selectandpoll)signal driven I/O (SIGIO)asynchronous I/O (t 阅读全文
posted @ 2013-07-25 13:23 冠冕堂皇 阅读(753) 评论(0) 推荐(1)

摘要:http://www.cnblogs.com/wangkunyu/archive/2013/07/22/3206477.html“open-close"prinple (OCP) Open-Closed Principle tells that:a software entity should open to extend and close to modify.advantage: by extending existing software system,we can offer new actions,in order to meet new meet to software, 阅读全文
posted @ 2013-07-23 14:52 冠冕堂皇 阅读(301) 评论(0) 推荐(0)

摘要:黄色框线里面表示客户端请求关闭连接。补充细节(来自网络):关于以上的四次握手,我补充下细节:1. 默认情况下(不改变socket选项),当你调用close( or closesocket,以下说close不再重复)时,如果发送缓冲中还有数据,TCP会继续把数据发送完。2. 发送了FIN只是表示这端不能继续发送数据(应用层不能再调用send发送),但是还可以接收数据。3. 应用层如何知道对端关闭?通常,在最简单的阻塞模型中,当你调用recv时,如果返回0,则表示对端关闭。在这个时候通常的做法就是也调用close,那么TCP层就发送FIN,继续完成四次握手。如果你不调用close,那么对端就会处于 阅读全文
posted @ 2013-07-09 16:22 冠冕堂皇 阅读(1798) 评论(0) 推荐(0)

摘要: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之后 阅读全文
posted @ 2013-07-08 15:55 冠冕堂皇 阅读(323) 评论(0) 推荐(0)

摘要:来自:http://www.cnblogs.com/xiaoyusmile/archive/2011/12/08/2280925.html源码下载在c#中,event与delegate是两个非常重要的概念。因为在Windows应用程序中,对事件的使用非常频繁,而事件的实现依赖于delegate。 下面是对网上一些比较好的关于delegage的资料的整理,以及自己的一些想法。委托概述委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似。与 C 中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。一旦为委托分配了方法,委托将与该方法具有完全相同的行 阅读全文
posted @ 2013-07-04 09:02 冠冕堂皇 阅读(306) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/heyuquan/archive/2013/03/22/2976420.html传送门:异步编程系列目录……大部分开发人员,在开发多线程应用程序时,都是使用ThreadPool的QueueUserWorkItem方法来发起一次简单的异步操作。然而,这个技术存在许多限制。最大的问题是没有一个内建的机制让你知道操作在什么时候完成,也没有一个机制在操作完成时获得一个返回值。为了克服这些限制(并解决其他一些问题),Microsoft引入了三种异步编程模式:.NET1.0异步编程模型(APM),基于IAsyncResult接口实现。.NET2.0基于事件的异 阅读全文
posted @ 2013-07-03 15:03 冠冕堂皇 阅读(446) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/heyuquan/archive/2013/04/26/async-list.html术语:APM异步编程模型,Asynchronous Programming ModelEAP基于事件的异步编程模式,Event-based Asynchronous PatternTAP基于任务的异步编程模式,Task-based Asynchronous PatternTPL任务并行库,Task Parallel Library现在我给这个系列整个目录和做个简单介绍。“概要+目录”整理C#语言是微软于2000年发布,基于.NET Framewrok框架的、面向对 阅读全文
posted @ 2013-07-03 15:01 冠冕堂皇 阅读(348) 评论(0) 推荐(0)

摘要:http://msdn.microsoft.com/zh-cn/library/ms228969(v=vs.90).aspx异步操作通常用于执行完成时间可能较长的任务,如打开大文件、连接远程计算机或查询数据库。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序可在异步方法执行其任务时继续执行。.NET Framework 为异步操作提供两种设计模式:使用IAsyncResult对象的异步操作。使用事件的异步操作。IAsyncResult设计模式允许多种编程模型,但更加复杂不易学习,可提供大多数应用程序都不要求的灵活性。可能的话,类库设计者应使用事件驱动模型实 阅读全文
posted @ 2013-07-03 14:58 冠冕堂皇 阅读(590) 评论(0) 推荐(0)

摘要:fromhttp://www.vckbase.com/index.php/wv/1256一、前言上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象)看着好复杂呀......呵呵,其实简单的紧:(注1)1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。也就是说可以有多个发生“事件”的源头。上图就有3个连接点;2、管理这些连接点的接口叫“连接点容器”(IConnectionPointContainer)。连接点容器接口特别简单,因为只有2个函数,一个是 FindConnectionPoin 阅读全文
posted @ 2013-06-27 14:29 冠冕堂皇 阅读(623) 评论(0) 推荐(0)

摘要:http://net.zdnet.com.cn/network_security_zone/2008/1024/1194589.shtml目前,基于GPRS/CDMA无线数据传输业务广泛在移动办公、工业控制、远程遥测等多方面应用,网络运营商中国移动GPRS和联通CDMA各有其特点。本文从网络的覆盖、带宽、频谱等方面对GPRS和CDMA进行了对比。 GPRS网络 GPRS(General Packet Radio Service,通用无线分组业务)作为第二代移动通信技术GSM向第三代移动通信(3G)的过渡技术,是由英国BT Cellnet公司早在1993年提出的,是GSM Phase2+ (.. 阅读全文
posted @ 2013-06-19 15:35 冠冕堂皇 阅读(594) 评论(0) 推荐(0)

摘要:http://blog.renren.com/blog/200018237/413439508GPRS(General Packet RadioService)的中文是通用分组无线业务,是在现有的GSM系统上发展出来的一种新的分组数据承载业务。GPRS与GSM系统最根本的区别是,GSM是一种电 路交换系统,而GPRS是一种分组交换系统。GPRS特别适用于间断的、突发性的或频繁的、少量的数据传输,也适用于偶尔的大数据量传输。我们可以将GPRS理解为GSM的一个更高层次。WAP(Wireless ApplicationProtocol)的中文是无线应用协议,它与GPRS属于不同的范畴,它的目的是将 阅读全文
posted @ 2013-06-19 15:25 冠冕堂皇 阅读(7574) 评论(0) 推荐(0)

摘要:http://www.cnblogs.com/hill/archive/2006/10/12/527499.html中国移动、中国联通推行的GPRS网络、CDMA网络已覆盖大量的区域,通过无线网络实现数据传输成为可能。无线Modem采用GPRS、CDMA模块通过中国移动、中国联通的GPRS、CDMA网络进行数据传输,并通TCP/IP协议进行数据封包,可灵活地实现多种设备接入,工程安装简单,在工业现场数据传输的应用中,能很好的解决偏远无网络无电话线路地区的数据传输的难题。同传统的数传电台想比较,更具有简便性、灵活性、易操作性,同时还降低了成本,无线Modem传输方案是现代化工业现场数据传输最好的 阅读全文
posted @ 2013-06-19 15:23 冠冕堂皇 阅读(431) 评论(0) 推荐(0)

摘要:http://blog.donews.com/jackqq/archive/2007/11/28/1232355.aspx最近买了一台新机器,装了 FreeBSD 7-stable,却遇到了一个问题。别人在我的 http 上下载东西的时候,我从外面进来的 ssh 被挤得几乎不动了。以前的机器上跑着 FreeBSD 5-stable,不知道是机器配置低达不到饱和,还是 5-stable 没有这个问题,或者是我 ssh 的很少根本没注意。前两种不大可能, ADSL 512Kbps 的上行速率应该很容易撑满, 5-stable 不是起因请看下面的分析。昨天晚上回来查 ssh QoS,发现一种解释。这 阅读全文
posted @ 2013-06-17 17:43 冠冕堂皇 阅读(784) 评论(0) 推荐(0)

摘要:http://blog.csdn.net/hnney/article/details/5604677三次握手:握手过程的第一个段的代码位设置为SYN,序列号为x,表示开始一次握手。接收方收到这个段后,向发送者回发一个段。代码位设置为SYN和ACK,序列号设置为y,确认序列号设置为x+1。发送者在受到这个段后,知道就可以进行TCP数据发送了,于是,它又向接收者发送一个ACK段,表示,双方的连接已经建立。Client --> 置SYN标志 序列号 = J,确认号 = 0 ----> ServerClient <-- 置SYN标志 置ACK标志 序列号 = K, 确认号 = J + 阅读全文
posted @ 2013-06-17 17:42 冠冕堂皇 阅读(1769) 评论(0) 推荐(0)

摘要:TCP序列号和确认号详解 http://hi.baidu.com/zengzhaonong/item/e691514af9b16cacdf2a9f8d在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序。但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了。近段时间由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确认号感兴趣的朋友有一定帮助。1. 序列号和确认号的 阅读全文
posted @ 2013-06-17 17:41 冠冕堂皇 阅读(1495) 评论(1) 推荐(0)

摘要:http://www.cnblogs.com/zhangzheny/archive/2007/12/24/1012790.html大家都容易把这两者搞混,我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料. 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类 阅读全文
posted @ 2013-06-07 17:47 冠冕堂皇 阅读(139) 评论(0) 推荐(0)

1 2 下一页