随笔分类 - 类库分享
摘要:对于不了解网络编程的开发人员来说,编写一个良好的服务端通讯程序是一件比较麻烦的事情.然而通过EC这个免费组件你可以非常简单地构建一个基于linux或win部署运行的网络服务程序.这种便利性完全得益于mono这些年来的不停发展.下面介绍通过EC这个组件如何通过短短十来分钟的时候内就能实现一个聊...
阅读全文
摘要:在写一些服务应用的时候经常把要它部署到windows service中,主要是让系统自动加载相关程序用于后台运行.正常写windows server需要单独写个程序包装和相应的安装类才能完成这些工作.但通过Glue4Net就可以非常简单地把代码或DLL部署到windows server中运行.下面地介绍通过Glue4Net简单地部署一个Socket程序.安装Glue4net首要工作是要把Glue4net安装下windows service中,下载http://www.ikende.com/files/file/Glue4net.rar解压后运行install.bat 这样Glue4net就安装
阅读全文
摘要:一般在写一些网络服务应用的时候都比较关注服务在网络同时读写的能力,为了方便对这方面应用的测试所以写了这样一个测试的工具。工具的主要作用可以通过不同的连接数来对一个服务应用进行一个读写压力请求,并实时查看当前IO的读写次数和每次请求的延时情况等。为大家介绍的这个工具是第二版,相对于第一版主要引入了beetle 2.7提供更强的测试效能,在界面上也做了调整使其查看结果直观。工具应用界面功能简介工具是测试服务端的网络读写能力,主要原理先向服务端发送一个请求,服务端根据请求进行一个应答;工具在得到应答后会再次进入下一次请求,通过这样一个循还来得到一个服务端的请求应答数量;用户可以根据自己的需要设置对应
阅读全文
摘要:在实际应用中我们经常要对一个或多个操作进行一个简单的秒操作数量计算,由于在.net里找不到这样一个类,所以实现了这样一个功能类并分享出来.这个类的主要功能是可以记录一个或多个的秒讲数处理,并每秒触发一个通知事件提供每一项的讲数情况包括:当前秒数量,最大数和平均值等. 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace Smark 6 { 7 /// <summary> 8 /// Copyright © henryfan 2012 ...
阅读全文
摘要:当一个aspx页面请求处理包括大量的IO工作,而这些IO资源又非常有限的情况下,那这个页面在对面大量请求的时候就有可能导致大量线程等待处理,从而使应用程序线程开销过多影响整体的处理效能.在这种情况我们更希望通过一个队列的机制控制处理线程的开销来实现更高效的处理效能.因此.net提供IHttpAsyncHandler来解决这些事情,但有个问题就是实现一个IHttpAsyncHandler意味着要自己要实现自己的处理过程,并不能对已经实现功能的.aspx进行控制.但通过反编译.net代码来看可以实现一个IHttpAsyncHandler接管现有的.aspx页面实现异步处理,又不需要修改现有页面实现
阅读全文
摘要:有此时候我们需要大概计算一些过程在1秒中处理的数量,.net虽然提供了一些计时方法如Stopwatch计算代码运行所损耗的时间,但并没有提供每秒执行的计数.为了方便解决这种需要因此实现了一个简单秒计数器来完成这些功能,也顺便分享这样一个小小的类.使用秒计数器假设我们现在有两个线程处理方法,而方法里是不停地去处理一些东西,我们需要计算每个方法每秒处理的数量是多少可以这样做. mCounter = new SecondCounter(); mTest1 = mCounter.Add("Test1"); mTest2 = mCounter.Add("Test2"
阅读全文
摘要:在上一编 文章里分享了自定义实现一个高效的String Split方法,接下来同样分享一下String相关操作的函数Replace.通过反编译查看String的Replace方法是内置实现无法查看具体 实现源码,因此无法推断出String的Replace方法实现如何;不过出于好奇自己手动去实现一个对应的Replace函数,从测试情况来看其效率相对来说比String的Replace方法要好些.测试描述为了让测试更全面所以进行不同内容替换和处理的不同次数添加到测试中.测试用的String数据Cache-Control:public, max-age=0Content-Encoding:gzipCo
阅读全文
摘要:最近在制定一个网络文件交互的协议,协议制订上采用了HTTP协议的方式,因此需对协议数据进行一个分割处理;虽然使用String的Split方法可以达到目的,但通过反编译查看其代码后发现实现相对复杂,性能上也不怎样;于是自己实现一个简单的字符分割处理类,在实现后和String的Sqlit方法进行了一个简单的对比,发现性能要比Sqlit高所以分享出来.测试情况分割处理的内容 Cache-Control:public, max-age=0Content-Encoding:gzipContent-Length:9480Content-Type:text/html; charset=utf-8Da...
阅读全文
摘要:其实实现一个图片验证码并不是什么难的问题,主要讲究的时验证的实现上如何提高程序的识别难度.所以在实现过程参考了一下google的做法,由于数字或字母适当重叠对人自身识别并不成什么问题,但对于计算增加的难度相对来说就比较高些了.如果感觉难度不大可以调整一下程序让让字母之间紧靠的近一点,也可适当地加下曲线来让分析上更难.不过做得太过的话,估计人自己都搞不清楚了:)验证码效果具体实现代码using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Drawing2D;using Syst
阅读全文