一个离开.NET的程序员

ryhan

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

2011年8月9日

摘要: 首部名称请求响应主体Allow§Authorization§Content-Encoding§Content-Length§Content-Type§Date§§Expires§From§If-Modified-Since§Last-Modified§Location§MIME-Version§§Progma§§Referer§Server§User-Agent§WWW-Authenticate§ 阅读全文
posted @ 2011-08-09 17:42 ryhan 阅读(1438) 评论(1) 推荐(0) 编辑

摘要: “穿越”防火墙的XML技术 程序员可能会经常碰到这样的事情:建立一个servlet应用程序,它与公司的数据库相连接,为客户提供一种特定的服务,这个应用程序受到一个强大的验证机制保护,全世界有成千上万的客户都在使用它。现在就出现了一个问题:当应用程序处在公司的防火墙之外时,你将如何从应用程序提供用户对数据库的访问?你知道,网络管理员是不会专门为你的应用程序与数据库相连接而打开一个特殊端口的。 HTTP隧道技术和XML 如何越过防火墙与客户/服务器应用程序相连接这个问题已经困扰程序员很久了。在多数情况下,一个公司的防火墙总是尽可能少地打开端口。一般情况下,你能够使用的唯一端口就是80,这也就是We 阅读全文
posted @ 2011-08-09 17:38 ryhan 阅读(702) 评论(0) 推荐(0) 编辑

摘要: HTTP请求模型一、连接至Web服务器一个客户端应用(如Web浏览器)打开到Web服务器的HTTP端口的一个套接字(缺省为80)。例如:http://www.myweb.com:8080/index.html在Java中,这将等同于代码:Socketsocket=newSocket("www.myweb.com",8080);InputStreamin=socket.getInputStream();OutputStreamout=socket.getOutputStream();二、发送HTTP请求通过连接,客户端写一个ASCII文本请求行,后跟0或多个HTTP头标,一个 阅读全文
posted @ 2011-08-09 17:13 ryhan 阅读(529) 评论(0) 推荐(0) 编辑

摘要: HTTP协议(Hypertext Transfer Protocol――超文本传输协议),浏览器端(客户端)向WEB服务器端访问页面的过程和 HTTP协议报文的格式。 基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接: 1. 创建TCP套接字连接 客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。 2. 发送HTTP请求报文 客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为: 请求消息 = 请求行(实体头信息)CRLF[实 阅读全文
posted @ 2011-08-09 16:40 ryhan 阅读(5250) 评论(0) 推荐(0) 编辑

2011年8月5日

摘要: http://blog.sina.com.cn/s/blog_51a3c0380100f9md.html今天想看一个dll的内容,苦于没有相关工具,从csdn上找到有这么段文字,收益匪浅啊,收藏!可以通过反汇编来知道接口函数的参数,建议使用W32DSM来分析,也可以直接使用VC来分析,就是麻烦一点。 现在使用W32DSM来具体说明: 1。先打开需要分析的DLL,然后通过菜单功能-》出口来找到需要分析的函数,双击就可以了。 它可以直接定位到该函数。 2。看准该函数的入口,一般函数是以以下代码作为入口点的。 push ebp mov ebp, esp ... 3。然后往下找到该函数的出口,一般函数 阅读全文
posted @ 2011-08-05 17:08 ryhan 阅读(2137) 评论(0) 推荐(0) 编辑

2011年8月3日

摘要: (http://blog.sina.com.cn/s/blog_4e2cd3ce0100lz97.html)套接字简介:套接字最早是Unix的,window是借鉴过来的。TCP/IP协议族提供三种套接字:流式、数据报式、原始套接字。其中原始套接字允许对底层协议直接访问,一般用于检验新协议或者新设备问题,很少使用。套接字编程原理:延续文件作用思想,打开-读写-关闭的模式。C/S编程模式如下:Ø 服务器端:打开通信通道,告诉本地机器,愿意在该通道上接受客户请求——监听,等待客户请求——接受请求,创建专用链接进行读写——处理完毕,关闭专用链接——关闭通信通道(当然其中监听到关闭专用链接可以 阅读全文
posted @ 2011-08-03 10:15 ryhan 阅读(2873) 评论(0) 推荐(0) 编辑

摘要: (http://hi.baidu.com/%D5%D4%CA%C0%BC%D1/blog/item/2ac1d01b4de459d4ad6e7594.html)Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket套接字到普通的请求/响应,更重要的是,这 阅读全文
posted @ 2011-08-03 10:12 ryhan 阅读(344) 评论(0) 推荐(0) 编辑

2011年7月21日

摘要: 试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器。计算机调试管理器(MDM)错误。错误信息:Microsoft(R)计算机调试管理器(MDM)用法:mdm[option]选项:/dumpjit:显示当前JIT(实时)调试设置试图运行项目时出错,无法启动调试。没有正确安装调试器。请运行安装程序安装或修复调试器。用F5调试时,此对话框又弹出一次,之后是另一个对话框。请尝试下面的操作可以解决你的问题:1、请确定你的操作系统是否运行在debug模式下,此时VS.NET将不能调试。2、确定你的项目已经启动了“非托管代码”调试选项。3、尝试重新安装VS.NET中的修复选 阅读全文
posted @ 2011-07-21 14:54 ryhan 阅读(1055) 评论(0) 推荐(0) 编辑

2011年7月20日

摘要: 如果你仔细阅读了我前面的三篇文章,我相信你对用.NET Framework提供的System.Threading.Thread类和一些线程同步的类基本的线程知识和多线程编程知识很了解。我们将在这里进一步讨论一些.NET类,以及他们在多线程编程中扮演的角色和怎么编程。它们是: System.Threading.ThreadPool 类 System.Threading.Timer 类 如果线程的数目并不是很多,而且你想控制每个线程的细节诸如线程的优先级等,使用Thread是比较合适的;但是如果有大量的线程,考虑使用线程池应该更好一些,它提供了高效的线程管理机制来处理多任务。 对于定期的执行任务T 阅读全文
posted @ 2011-07-20 15:56 ryhan 阅读(301) 评论(0) 推荐(1) 编辑

摘要: 在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒这一般使用Timer(定时器)来解决;ThreadPool类提供一个由系统维护的线程池(可以看作一个线程的容器),该容器需要 Windows 2000 以上系统支持,因为其中某些方法调用了只有高版本的Windows才有的API函数。将线程安放在线程池里,需使用ThreadPool.QueueUserWorkItem()方法,该方法的原型如下://将一个线程放进线程池 阅读全文
posted @ 2011-07-20 15:55 ryhan 阅读(346) 评论(0) 推荐(0) 编辑

摘要: 在多线程的程序中,经常会出现两种情况。一种情况下,应用程序中的线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应;而另外一种情况则是线程平常都处于休眠状态,只是周期性地被唤醒。这里分析及介绍.Net Framework中ThreadPool class来对付第一种情况,相应地也会谈到QueueUserWorkItem方法和WaitCallback委托。而使用Timer(System.Threading.Timer or System.Windows.Forms.Timer)来对付第二种情况,可以参考《System.Threading.Timer类的TimerCallback 阅读全文
posted @ 2011-07-20 13:33 ryhan 阅读(465) 评论(0) 推荐(0) 编辑

摘要: c# 允许服务与桌面交互(已补充)http://www.cnblogs.com/chenzhigao/archive/2010/02/06/1665173.html我们写一个服务,有时候要让服务启动某个应用程序,就要修改服务的属性,勾选允许服务与桌面交互,可以用修改注册表实现,我们必须在安装后操作,所以请重写Installer的OnAfterInstall。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->protected override 阅读全文
posted @ 2011-07-20 12:46 ryhan 阅读(1473) 评论(0) 推荐(1) 编辑

摘要: 屏幕监控是远控软件的基本功能之一。现在很多远控程序的服务端通常为DLL形式,通过远程线程注入等方法插入到services、svchost等SYSTEM权限的进程中去,而此时常规的屏幕监控就会失效(这是因为与SYSTEM权限进程关联的窗口站、桌面与普通进程不同)。如何才能在SYSTEM权限下实现屏幕监控呢?一、 屏幕监控的基本原理屏幕监控简单说就是对进程的当前桌面进行截屏存成位图,然后将此位图数据传输到远程。对桌面进行截图需要通过一系列Windows GDI API来完成的。首先通过CreateDC,CreateCompatibleDC,CreateCompatibleBitmap,Select 阅读全文
posted @ 2011-07-20 12:42 ryhan 阅读(1057) 评论(0) 推荐(0) 编辑

2011年7月19日

摘要: 编辑器加载中...JPEG压缩方法由于其较高的压缩比和理想的压缩效果,是目前应用最广泛的图像压缩方法。它采用一种特殊的有损压缩算法,将不易被人眼察觉 的图像颜色删除,从而能够将图像压缩在很小的储存空间。JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现 十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。本文对JPEG图像压缩方法进行了基本介绍,包括它的发展历史,现 阶段的研究情况,压缩原理等。其中重点介绍了哈夫曼编码和游程编码的基本原理和在JPEG压缩编码算法中的具体应用,以及以变换编码方法为例,介绍了离散 余弦变换(DCT)的 阅读全文
posted @ 2011-07-19 15:44 ryhan 阅读(2699) 评论(0) 推荐(0) 编辑

2011年7月15日

摘要: VBS(Visual Basic Script)作为一种简单而强大的脚本语言,在现代Windows操作系统中日益发挥重要的作用。我记得在读大学的时候,著名的Melissa(梅丽莎)和“I love you”病毒就是由VBS编写的,恶作剧般的“万花谷”网页病毒也包含了大量的VBS代码。它像一把双刃剑,既是我们日常操作管理的得力助手,也是一个可怕的无处不在的杀手。病毒代码一般短小精悍,深入分析它对于提高编程水平是十分有助益的。下面我将通过分析一个具有禁止QQ运行功能的VBS病毒程序代码向你演示病毒的生与死。一、程序源码分析:'-------------------------------- 阅读全文
posted @ 2011-07-15 16:31 ryhan 阅读(1677) 评论(0) 推荐(1) 编辑

摘要: 1VBSVBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的认识,现在大家对它也开始重视起来。VBS代码在本地是通过WindowsScriptHost(WSH)解释执行的。VBS脚本的执行离不开WSH,WSH是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH,用户能够操纵WSH对象、ActiveX对象、注册表和文件系统。在Windows2000下,还可用WSH来访问WindowsNT活动目录服务。 用VBS编写的脚本程序在窗口界面是由wscript.exe文件解释执行的,在字符界面由cscript 阅读全文
posted @ 2011-07-15 16:20 ryhan 阅读(2744) 评论(0) 推荐(0) 编辑

2011年7月14日

摘要: 原http://blog.csdn.net/BusyDonkey/article/details/5327665在C#里现在有3个Timer类:System.Windows.Forms.TimerSystem.Threading.TimerSystem.Timers.Timer这三个Timer我想大家对System.Windows.Forms.Timer已经很熟悉了,唯一我要说的就是这个Timer在激发Timer.Tick事件的时候,事件的处理函数是在程序主线程上执行的,所以在WinForm上面用这个Timer很方便,因为在From上的所有控件都是在程序主线程上创建的,那么在Tick的处理函数 阅读全文
posted @ 2011-07-14 14:47 ryhan 阅读(12066) 评论(1) 推荐(3) 编辑

摘要: ***寻找窗口的代码***用法:FindWindow fw = new FindWindow(IntPtr.Zero, null, "ThunderDFrame", 10);//查找Title为ThunderDFrame的窗口,如果10秒内还没找到,返回false-----------------------------------------------------------------------------------------------------------------------------------------------------using Sys 阅读全文
posted @ 2011-07-14 11:47 ryhan 阅读(421) 评论(0) 推荐(0) 编辑

摘要: [Visual Stdio 2005下调试通过]--------------------------------------------------------------------------------------------------------------------------------------- /// <summary> /// 提供全屏和指定窗口的截图 以及保存为文件的类 /// </summary> public class ScreenCapture { /// <summary> /// 全屏截图 /// </summa 阅读全文
posted @ 2011-07-14 11:44 ryhan 阅读(1436) 评论(3) 推荐(0) 编辑

2011年7月5日

摘要: /******* 导出到ExcelEXEC master..XP_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'/*********** 导入ExcelSELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin 阅读全文
posted @ 2011-07-05 16:44 ryhan 阅读(1140) 评论(0) 推荐(0) 编辑