摘要: 缘起netcore框架下实现基于zmq的应用。 在.net framework时代,我们进行zmq开发由很多的选择,比较常用的有clrzmq4和NetMQ。 其中clrzmq是基于libzmq的Interop包装, NetMQ是100%C#的zmq实现(基于AsyncIO组件)。以上两种组件我都有过 阅读全文
posted @ 2017-04-18 10:18 lianghugg 阅读(3863) 评论(5) 推荐(7) 编辑
摘要: 去年早些时候的在博客中分享过一篇文章通过Socket进行HttP/HTTPS网页操作,之后在另外一文章Socket模拟HTTP协议之火车票购票软件中用到了该帮助类.时隔一年之后,在偶尔的使用过程中我将该类重新修复修改了一下:1、增加了对chunked协议的解析2、修改了一些API接口3、修复了一些BUG就在最近也还有同学找到我请教该类的一些用法,所以再次整理了一下发布出来,希望对需要的朋友有所帮助。不过,目前该类的一些封装和API接口还不是特别友好,有需要的朋友可自行理解后修改,我也很善于帮不懂的朋友解答一些问题。如若以后再有新的修改我也会同样共享出来。需要Socket方式提交HTTP的同学请 阅读全文
posted @ 2013-01-18 10:10 lianghugg 阅读(3479) 评论(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 阅读(1580) 评论(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 阅读(974) 评论(0) 推荐(0) 编辑
摘要: C/S分布式开发相比BS开发要考虑更多问题,难度也相对要高。 本文以最基本的Client端请求展示数据为例来讨论一下C/S分布式开发中的用户体验! 在本文中你将看到关于C/S分布式设计中可能需要考虑的问题,MVVM模式的应用,Frame控件在WPF导航中无法适用需求的问题、Prism Region的应用等 首先,我们看下QQ当中对于用户资料查询时的UI设计: 1、加载过程 在这个过程当中,我们的数据是通过服务从服务端请求而来,请求过程存在一定的耗时操作,所以我们通常都会采用异步请求方式,确保UI正常! 2、请求失败的情况 对于这种远程服务请求来说,必然会遇到网络异常或请求失败的情况,或... 阅读全文
posted @ 2012-01-12 12:58 lianghugg 阅读(3148) 评论(2) 推荐(2) 编辑
摘要: 前段时间我发布过一篇文章描述Socket进行HTTP/HTTPS操作,但是还是很多朋友觉得多次一举,放着简单的HttpWebRequest不用!实际是有些人根本没看文章就乱说了,我们的目地是提高访问速率,了解HTTP协议与一般网络开发,并非奔着简单去!正好这年末,大家抢火车票抢的火热,但是我们很多程序员朋友却只没有应用好自己的专业知识为自己购得回家的车票。网上已经不乏一些抢票软件、以及对12306流程分析的文章,google code中也已经有了java版的全自动购票程序,自动AI+OCR识别的。有兴趣的可以去搜索下看看。回到文章中来,我这次也是通过编写一下购票软件来实践下上次文章中的内容:( 阅读全文
posted @ 2012-01-10 20:30 lianghugg 阅读(8425) 评论(22) 推荐(6) 编辑
摘要: 最近熟悉了一下Prism框架,将自己理解的主要知识点分为如下: 1、BootStrapper-启动引导 2、Region-区域 3、Module-模块 4、Aggregate-聚合事件 5、MVVM 根据Prism的QuikStart 以及网上诸多的示例,应用,我们很快便能理解其中的一些知识,并且非常跃跃欲试! 经过一翻学习、运行示例之后…………… 开始了自己的第一... 阅读全文
posted @ 2011-11-25 16:39 lianghugg 阅读(4217) 评论(3) 推荐(1) 编辑
摘要: 名词解释:此动态非运行时动态,让EF动态支持新增表、动态切换数据库意在不改变项目核心框架, 通过新增或者替换组件的方式达到标题目地。 一、先来点简单的,动态支持多数据库 AppDbContext实现: public class AppDbContext:DbContext { public AppDbContext(string configKey)... 阅读全文
posted @ 2011-10-28 13:58 lianghugg 阅读(6581) 评论(6) 推荐(5) 编辑
摘要: 本文通过实战软件远程认证为例,来展示如何使用WCF/TCP模式下 Username/Password 验证方式,以及使用过程中可能遇到的一些问题。 (本实例是之前的一个实例,时间稍久,有些回忆错误的地方望见谅) 1、实例预览 服务端主界面,用来开启/停止服务 服务端用户管理界面,主要用来管理远程客户端的认证信息、认证状态 2、客户端如何通过服务端认证 我们知道如果客户... 阅读全文
posted @ 2011-10-27 12:18 lianghugg 阅读(2447) 评论(5) 推荐(4) 编辑
摘要: 此文章假设读者已经熟悉在.NET下通过HttpWebRequest/WebClient来操作网页, 但是由于学艺不精或经验不够丰富,仍有很多困惑和疑问? 那么下面就通过一系列演示来解决其中一些问题。 废话不多,先列举一些HTTP/HTTPS操作过程经常遇到的问题: 1、HTTP协议头参数? 示例: 上图是浏览google时通过IE9.0开发者工... 阅读全文
posted @ 2011-10-25 16:29 lianghugg 阅读(18660) 评论(13) 推荐(10) 编辑
摘要: 在.NET中要使用打印服务非常的简单,微软已经为我们提供了下面一些类辅助我们执行打印操作PrintDocument;PrintDialog;PrintPreviewDialog;......有了上面的3个类,我们很轻松的就能设计一个程序的打印功能,实际上我们主要用到的是PrintDocument 类;但是PrintDocument有一个属性PrinterSettings,这个属性用来设置打印的一些选项,如打印机,打印份数==;当然上面的PrintDialog类或者另外一个PageSetupDialog类都为我们提供了方便的可视化的打印选项设置;当我们需要预览打印的时候就要用到PrintPrev 阅读全文
posted @ 2011-01-13 15:38 lianghugg 阅读(2707) 评论(0) 推荐(0) 编辑
摘要: 补充说明,尤其一开始自己没注意到 “程序员之窗”网站提供了示例下载,所以可能我文中有些言语不太妥当,在此说明,希望不要引起不必要的误会,此文仅当一个学习的例子。--------------------------------------------------------------------前几天路过一个网站时看到一个关于SplitContainer控件美化的文章,实现的效果如图:(直接引用自那个站)说起这个站看到的这篇文章,我还真是生气。本来觉得这个效果蛮好的,也想学习下。结果这玩意TMD整个一篇废文,地址在这里为什么我要生气呢,这边文章只是展示了最终效果,并且贴了一点点无关紧要的代码, 阅读全文
posted @ 2011-01-11 10:26 lianghugg 阅读(15228) 评论(19) 推荐(10) 编辑
摘要: 先发点牢骚放松下心情, 最近完全没有做项目的动力,每天感觉脑子昏昏沉沉的没有一点状态。一来可能快春节了,自己离家比较远也在担心何时回家何时购票,二来公司程序员就我一个人在单干,软件 项目什么的做好了,却不能接受一次又一次的添加功能和修改数据库,(我真的很想骂某个人的娘)三来也老早计划好了11年4月份一年合同到期后就离职,现在好像一点都静不下心来如果有各位同僚给我开解开解我也好恢复下心境。好了,下面来说这个简易的图像浏览器吧。 其实这也不是无中生有我要去做的一个东西, 我们公司的软件 项目都是我一个人在做的, 在做之前我已经构思好了所有的东西,也尽自己最大努力去实现了。 但是一个人兼顾设计 开发 阅读全文
posted @ 2011-01-08 16:11 lianghugg 阅读(2235) 评论(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 阅读(8851) 评论(7) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/jasonm2008/archive/2009/01/04/3702733.aspx〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效。〖14〗-存储器不足,无法完成此操作。〖15〗-系统找不到指定的驱动器。〖16〗-无法删除目录。〖17〗-系统无法将文 阅读全文
posted @ 2010-12-29 09:06 lianghugg 阅读(1561) 评论(0) 推荐(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 阅读(2000) 评论(0) 推荐(1) 编辑
摘要: 转载自:http://www.love150.cn/blog/article.asp?id=1021、数据绑定的问题:当DataGridView的DataSource绑定的为DataTable时,当DataTable的内容发生改变时,DataGridView中的内容会自动跟随DataTable改变而不用重新绑定数据源;而把List<T>绑定到DataGridView则不然,当List&... 阅读全文
posted @ 2010-11-10 17:05 lianghugg 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 以下讨论是针对DockPanel Suite 开源组件的DockPanel类补充:从发现下文描述的异常之后,在使用时发现,当一个DockContent窗体添加到DockPanel中,先打开,再关闭 然后改变主窗体大小时,会使其他未关闭的DockContent窗口消失,不暴任何异常,非常诡异的一个错误,出现在DockPanel SUite 2.4中, 改用2.3后没有发现本文描述的任何问题!异常产生... 阅读全文
posted @ 2010-11-10 11:02 lianghugg 阅读(777) 评论(0) 推荐(0) 编辑
摘要: 描述这样一个场景:一个程序,执行的时候没有成功连接到数据存储引擎,当源源不断的新增数据要添加到数据存储里的时候就不能正常添加,此时需要一个临时存储方式。 假设先用一个缓存保存,然后当缓存数据量达到一定数量时,就取出这些数据开辟单独线程用其他保存方式进行保存。然后看一段模拟代码:[代码]这段代码用了 Take<T>() 这个扩展方法, 这里要说的是,要做好从cache里取出前面的N条数据... 阅读全文
posted @ 2010-11-02 20:32 lianghugg 阅读(238) 评论(0) 推荐(1) 编辑
摘要: 第一次知道orm概念是在今年,每天浏览博客园或多或少的也看到些关于orm的讨论,也不乏一些orm动手系列,不过自己只停留在知道与浏览过的概念。 由于在公司单兵作战,从一开始接手的项目是一套C++/CLI的项目,所有数据操作都是简单的CURD,没有分层概念,甚至被不允许分模块开发,所有东西多在同一个Project中,UI后台代码中处处是SQL语句,很是被动。 后来工作的几个月中,我不断的修改,不断的... 阅读全文
posted @ 2010-10-27 09:32 lianghugg 阅读(1167) 评论(5) 推荐(3) 编辑