随笔分类 -  编程记录

摘要:缘起netcore框架下实现基于zmq的应用。 在.net framework时代,我们进行zmq开发由很多的选择,比较常用的有clrzmq4和NetMQ。 其中clrzmq是基于libzmq的Interop包装, NetMQ是100%C#的zmq实现(基于AsyncIO组件)。以上两种组件我都有过 阅读全文
posted @ 2017-04-18 10:18 lianghugg 阅读(4088) 评论(5) 推荐(7) 编辑
摘要:去年早些时候的在博客中分享过一篇文章通过Socket进行HttP/HTTPS网页操作,之后在另外一文章Socket模拟HTTP协议之火车票购票软件中用到了该帮助类.时隔一年之后,在偶尔的使用过程中我将该类重新修复修改了一下:1、增加了对chunked协议的解析2、修改了一些API接口3、修复了一些BUG就在最近也还有同学找到我请教该类的一些用法,所以再次整理了一下发布出来,希望对需要的朋友有所帮助。不过,目前该类的一些封装和API接口还不是特别友好,有需要的朋友可自行理解后修改,我也很善于帮不懂的朋友解答一些问题。如若以后再有新的修改我也会同样共享出来。需要Socket方式提交HTTP的同学请 阅读全文
posted @ 2013-01-18 10:10 lianghugg 阅读(3554) 评论(8) 推荐(4) 编辑
摘要:在C++中编写一个类,如果我们没明确的创建 拷贝函数和 opertae=的重载,IDE一般会在编译的时候主动添加;在Boost库中,对mutex类没有实现其拷贝和operate=函数,查看其mutex.hpp文件可见如下:classmutex:public::boost::detail::underlying_mutex{private:mutex(mutexconst&);mutex&operator=(mutexconst&);public:mutex(){initialize();}~mutex(){destroy();}typedefunique_lock< 阅读全文
posted @ 2012-10-25 15:33 lianghugg 阅读(1783) 评论(0) 推荐(0) 编辑
摘要:1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingSystem.Text;5usingSystem.Net.Sockets;6usingSystem.Threading;7usingSystem.Net;89namespaceSocketAsyncEventTest10{11classProgram12{13staticbyte[]Buff=newbyte[512];141516staticvoidMain(string[]args)17{18SocketsK=newSocket(AddressFami. 阅读全文
posted @ 2012-04-01 16:04 lianghugg 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:前段时间我发布过一篇文章描述Socket进行HTTP/HTTPS操作,但是还是很多朋友觉得多次一举,放着简单的HttpWebRequest不用!实际是有些人根本没看文章就乱说了,我们的目地是提高访问速率,了解HTTP协议与一般网络开发,并非奔着简单去!正好这年末,大家抢火车票抢的火热,但是我们很多程序员朋友却只没有应用好自己的专业知识为自己购得回家的车票。网上已经不乏一些抢票软件、以及对12306流程分析的文章,google code中也已经有了java版的全自动购票程序,自动AI+OCR识别的。有兴趣的可以去搜索下看看。回到文章中来,我这次也是通过编写一下购票软件来实践下上次文章中的内容:( 阅读全文
posted @ 2012-01-10 20:30 lianghugg 阅读(8991) 评论(22) 推荐(6) 编辑
摘要:最近熟悉了一下Prism框架,将自己理解的主要知识点分为如下: 1、BootStrapper-启动引导 2、Region-区域 3、Module-模块 4、Aggregate-聚合事件 5、MVVM 根据Prism的QuikStart 以及网上诸多的示例,应用,我们很快便能理解其中的一些知识,并且非常跃跃欲试! 经过一翻学习、运行示例之后…………… 开始了自己的第一... 阅读全文
posted @ 2011-11-25 16:39 lianghugg 阅读(4347) 评论(3) 推荐(1) 编辑
摘要:在.NET中要使用打印服务非常的简单,微软已经为我们提供了下面一些类辅助我们执行打印操作PrintDocument;PrintDialog;PrintPreviewDialog;......有了上面的3个类,我们很轻松的就能设计一个程序的打印功能,实际上我们主要用到的是PrintDocument 类;但是PrintDocument有一个属性PrinterSettings,这个属性用来设置打印的一些选项,如打印机,打印份数==;当然上面的PrintDialog类或者另外一个PageSetupDialog类都为我们提供了方便的可视化的打印选项设置;当我们需要预览打印的时候就要用到PrintPrev 阅读全文
posted @ 2011-01-13 15:38 lianghugg 阅读(2859) 评论(0) 推荐(0) 编辑
摘要:补充说明,尤其一开始自己没注意到 “程序员之窗”网站提供了示例下载,所以可能我文中有些言语不太妥当,在此说明,希望不要引起不必要的误会,此文仅当一个学习的例子。--------------------------------------------------------------------前几天路过一个网站时看到一个关于SplitContainer控件美化的文章,实现的效果如图:(直接引用自那个站)说起这个站看到的这篇文章,我还真是生气。本来觉得这个效果蛮好的,也想学习下。结果这玩意TMD整个一篇废文,地址在这里为什么我要生气呢,这边文章只是展示了最终效果,并且贴了一点点无关紧要的代码, 阅读全文
posted @ 2011-01-11 10:26 lianghugg 阅读(16024) 评论(19) 推荐(11) 编辑
摘要:先发点牢骚放松下心情, 最近完全没有做项目的动力,每天感觉脑子昏昏沉沉的没有一点状态。一来可能快春节了,自己离家比较远也在担心何时回家何时购票,二来公司程序员就我一个人在单干,软件 项目什么的做好了,却不能接受一次又一次的添加功能和修改数据库,(我真的很想骂某个人的娘)三来也老早计划好了11年4月份一年合同到期后就离职,现在好像一点都静不下心来如果有各位同僚给我开解开解我也好恢复下心境。好了,下面来说这个简易的图像浏览器吧。 其实这也不是无中生有我要去做的一个东西, 我们公司的软件 项目都是我一个人在做的, 在做之前我已经构思好了所有的东西,也尽自己最大努力去实现了。 但是一个人兼顾设计 开发 阅读全文
posted @ 2011-01-08 16:11 lianghugg 阅读(2306) 评论(8) 推荐(2) 编辑
摘要:在使用第三方的非托管API时,我们经常会遇到参数为指针或指针的指针这种情况,一般我们会用IntPtr指向我们需要传递的参数地址;但是当遇到这种一个导出函数时,我们如何正确的使用IntPtr呢,extern "C" __declspec(dllexport) int GetClass(Class pClass[50]);由于这种情况也经常可能遇到,所以我制作了2个示例程序来演示下如何处理这种非托管函数的调用!首先创建一个C++ 的DLL 设置一个如上的导出函数[代码]上面DLL 的导出函数要求传递的参数为它自定义的Class结构体数组, 那么我们在C#调用它时也要自定义对应的结构体了,我们可以定 阅读全文
posted @ 2010-12-29 21:52 lianghugg 阅读(9341) 评论(7) 推荐(0) 编辑
摘要:Adobe PDF Reader COM组件(axAcroPDFLib)可以用来在Windows Form中显示PDF文件的内容并进行交互。我们知道,Windows Form应用程序在关闭的时候,会销毁所有控件,而在销毁axAcroPDFLib时似乎遇到了问题。具体表现为:关闭应用程序之后,进程依然会在内存中驻留较长时间,然后才彻底退出;关闭应用程序之后,发生错误:错误“0x0700609c”指令引用的“0×00000014”内存,该内存不能为“read”。简单测试了下,在C#, MFC ,VB中使用都是正常的,但是在C++/CLI 中使用,应用程序退出时就会暴之上的错误。解决方法很简单,只需 阅读全文
posted @ 2010-12-07 11:23 lianghugg 阅读(2316) 评论(0) 推荐(1) 编辑
摘要:以下讨论是针对DockPanel Suite 开源组件的DockPanel类补充:从发现下文描述的异常之后,在使用时发现,当一个DockContent窗体添加到DockPanel中,先打开,再关闭 然后改变主窗体大小时,会使其他未关闭的DockContent窗口消失,不暴任何异常,非常诡异的一个错误,出现在DockPanel SUite 2.4中, 改用2.3后没有发现本文描述的任何问题!异常产生... 阅读全文
posted @ 2010-11-10 11:02 lianghugg 阅读(855) 评论(0) 推荐(0) 编辑
摘要:描述这样一个场景:一个程序,执行的时候没有成功连接到数据存储引擎,当源源不断的新增数据要添加到数据存储里的时候就不能正常添加,此时需要一个临时存储方式。 假设先用一个缓存保存,然后当缓存数据量达到一定数量时,就取出这些数据开辟单独线程用其他保存方式进行保存。然后看一段模拟代码:[代码]这段代码用了 Take<T>() 这个扩展方法, 这里要说的是,要做好从cache里取出前面的N条数据... 阅读全文
posted @ 2010-11-02 20:32 lianghugg 阅读(266) 评论(0) 推荐(1) 编辑
摘要:第一次知道orm概念是在今年,每天浏览博客园或多或少的也看到些关于orm的讨论,也不乏一些orm动手系列,不过自己只停留在知道与浏览过的概念。 由于在公司单兵作战,从一开始接手的项目是一套C++/CLI的项目,所有数据操作都是简单的CURD,没有分层概念,甚至被不允许分模块开发,所有东西多在同一个Project中,UI后台代码中处处是SQL语句,很是被动。 后来工作的几个月中,我不断的修改,不断的... 阅读全文
posted @ 2010-10-27 09:32 lianghugg 阅读(1195) 评论(5) 推荐(3) 编辑
摘要:群里一同学问了个问题,描述如下:[代码]这段代码是为了描述问题写的模拟伪代码, 问题是不使用全局变量 name 和 age的时候,要将 name age传递到按钮的 OnClick事件函数里,其实处理这个问题。首先想到的就是 委托,想到委托就会想到委托的参数,所以这里必须自己定义个参数类,来包含 name 和 age参数先来定义个委托参数类[代码]有个委托参数,接着定义委托[代码]委托定义里第一个... 阅读全文
posted @ 2010-09-10 10:44 lianghugg 阅读(308) 评论(3) 推荐(0) 编辑
摘要:综合现在能查到的免费短信发送方式,在飞信今年未升级前,大多是利用分析出的飞信客户端协议来发送短信,优点是速度快,使用简单!后来由于飞信协议的升级,以及验证码问题,大多的此类发送方式已经挂掉了,网上也有关于利用google日历来变相进行短信发送的方法,还有就是利用139邮箱,实际上不仅仅是139邮箱,189,yahoo等很多邮箱服务商都提供短信通知功能!今天在首页又看到一篇文章利用139邮箱来进行短... 阅读全文
posted @ 2010-09-01 13:29 lianghugg 阅读(9715) 评论(26) 推荐(5) 编辑
摘要:RichTextBox简单实现,消息时间为颜色显示[代码]非常简单,只需要在插入消息时间之前将光标移动到RichTextBox末尾,并设置选中内容的颜色为所需颜色,实际上添加的新行自动成为了选中内容SelectedText2,NotifyIcon闪烁 需要2张ICO图片,16*16 一张为显示的托盘图标,另一张为透明的空图标,添加到资源中 添加一个Timer 间隔 500毫秒,Timer_Ti... 阅读全文
posted @ 2010-08-16 11:36 lianghugg 阅读(773) 评论(1) 推荐(0) 编辑
摘要:在工程软件中会遇到在一张工程图纸或背景图中标注一些标志或者其他信息,在静态图片中我们很方便可以使用文字或者其他小图标形式进行标注!但也造成了所标注的点只能是静态显示而已,现在我们的需求是,一张背景图,上面有一些点需要标注,这些点需要可以移动 鼠标进入区域可以提示或高亮 背景图分辨率变化时 这些点能自动计算相对位置及大小使重叠在背景中当然还有很多其他用处,如联动操作!下面就已我实际中遇到的问题来做演... 阅读全文
posted @ 2010-08-06 16:21 lianghugg 阅读(994) 评论(1) 推荐(2) 编辑
摘要:在网上搜索到一段代码,其中需要unsafe模式使用指针移动来操作修改图片数据!重新修改使用Marshal类来替换处理unsafe代码段,代码如下 c++/cli,C#的直接按照语法修改下就可以了![代码] 阅读全文
posted @ 2010-08-04 09:31 lianghugg 阅读(582) 评论(0) 推荐(0) 编辑