随笔分类 -  03~c#

C#网络编程概述 三
摘要:最后,我就综合以上C#网络编程的一些知识,向大家展示一个很好的实例。该实例是一个运用Socket的基于同步模式的客户端应用程序,它首先通过解析服务器的IP地址建立一个终结点,同时创建一个基于流套接字的Socket连接,其运用的协议是TCP协议。通过该Socket就可以发送获取网页的命令,再通过该Socket获得服务器上默认的网页,最后通过文件流将获得的数据写入本机文件。这样就完成了网页的下载工作了,程序运行的效果如下所示: 源代码如下:(其中主要的函数为DoSocketGet() usingSystem;usingSystem.Drawing;usingSystem.Collections;u 阅读全文
posted @ 2011-04-15 10:52 钱途无梁 阅读(361) 评论(0) 推荐(0) 编辑
C#网络编程概述 二
摘要:IPEndPoint类:在Internet中,TCP/IP使用一个网络地址和一个服务端口号来唯一标识设备。网络地址标识网络上的特定设备;端口号标识要连接到的该设备上的特定服务。网络地址和服务端口的组合称为终结点,在.NET框架中正是由EndPoint类表示这个终结点,它提供表示网络资源或服务的抽象,用以标志网络地址等信息。.Net同时也为每个受支持的地址族定义了 EndPoint的子代;对于IP地址族,该类为IPEndPoint。IPEndPoint类包含应用程序连接到主机上的服务所需的主机和端口信息,通过组合服务的主机IP地址和端口号,IPEndPoint类形成到服务的连接点。在IPEndP 阅读全文
posted @ 2011-04-15 08:32 钱途无梁 阅读(393) 评论(0) 推荐(0) 编辑
请问 可再发行组件包是什么意思哦?
摘要:可再发行组件包的含义是可以随同你开发的.net应用软件一起发布给最终用户的软件包,用户只要安装这个和你的应用程序,即可运行你制作的应用。 阅读全文
posted @ 2011-04-14 19:39 钱途无梁 阅读(887) 评论(0) 推荐(0) 编辑
C#网络编程概述 一
摘要:C#作为一门集众家之长的语言,在各个方面尤其是网络编程方面有着很大的优势。本文就向大家介绍一下用C#进行网络编程的一些基本知识和方法。 微软的.Net框架为我们进行网络编程提供了以下两个名字空间:System.Net以及System.Net.Sockets。通过合理运用其中的类和方法,我们可以很容易地编写出各种网络应用程序。这种网络应用程序既可以是基于流套接字的,也可以是基于数据报套接字的。而基于流套接字的通讯中采用最广泛的协议就是TCP协议,基于数据报套接字的通讯中采用最广泛的自然就是UDP协议了。 下面我重点向大家介绍C#网络编程中的一些类:Dns类、IPHostEntry类、IPEndP 阅读全文
posted @ 2011-04-14 18:59 钱途无梁 阅读(736) 评论(0) 推荐(0) 编辑
深入探讨C#序列化和反序列化
摘要:深入探讨C#序列化和反序列化之前我们先要明白什么是序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。.NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行... 阅读全文
posted @ 2010-06-02 17:51 钱途无梁 阅读(413) 评论(0) 推荐(0) 编辑
一步一步学Remoting系列文章
摘要:(原创)一步一步学Remoting之一:从简单开始 (原创)一步一步学Remoting之二:激活模式 (原创)一步一步学Remoting之三:复杂对象 (原创)一步一步学Remoting之四:承载方式(1) (原创)一步一步学Remoting之四:承载方式(2) (原创)一步一步学Remoting之五:异步操作 (原创)一步一步学Remoting之六:事件(1) (原创)一步一步学Remoting... 阅读全文
posted @ 2010-04-26 13:57 钱途无梁 阅读(360) 评论(0) 推荐(0) 编辑
C#断点续传原理与实现
摘要:在了解HTTP断点续传的原理之前,让我们先来了解一下HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种。请求协议是由客户机(浏览器)向服务器(WEBSERVER)提交请求时发送报文的协议。回复协议是由服务器(webserver),向客户机(浏览器)回复报文时的协议。请求和回复协议都由头和体组成。头和体之间以一行空行为分隔。 以下是一个请求报文与相应的回复报文的例子: 代码Co... 阅读全文
posted @ 2010-04-15 10:24 钱途无梁 阅读(545) 评论(0) 推荐(1) 编辑
超类(superclass)
摘要:超类 :用java术语来讲,被继承的类称为超类,继承的类称为子类。  面向对象编程的最重要的特色之一就是能够使用以前创建的类的方法和域。通过简单的类来创建功能强大的类,可以大幅地节省编程时间,更重要的是,这样做可以减少代码出错的机会。要在以前的类上构造新类,就必须在类声明中扩展这个类。  通过扩展一个超类,可以得到这个类的一个新副本,并且可以在其上添加其他功能。如果对这个新类并不做任何添加工作,那... 阅读全文
posted @ 2010-04-01 14:41 钱途无梁 阅读(1319) 评论(0) 推荐(0) 编辑
c#程序 打包.net运行库
摘要:昨天用C#做了一软件 发到论坛来黑发老人 提醒我没有加运行库 会导致没有装.net 的没有办法运行c#的软件以前也弄过几次 但是一直没有什么用处所以就淡忘了(毕竟现在很多机子上都已经装了.net)安装的时候程序自动检测系统是否已装.net环境 如果没有安装的话 就可以直接安装说起来难其实很简单vs2005里面带有这个功能。不用手敲代码由于嫌麻烦 就不截图留念了。。嘻嘻新建项目 -->安装向导... 阅读全文
posted @ 2010-03-09 14:54 钱途无梁 阅读(3387) 评论(0) 推荐(0) 编辑
HeadFirst设计模式学习笔记(C#版):鸭子与策略(Strategy)模式
摘要:面向对象的经典例子,我喜欢~策略模式的设计原则如下: 1. 将应用中需要经常变化的代码独立出来,应和那些不需要经常变化的代码分开。 2. 应针对接口,而不是类进行编程。 3. 在类中应多用组合,少用继承。 例子: 我们要实现一个鸭子模拟器,这个鸭子模拟器由Duck类描述,而Duck类有如下4个行为: 1. display 2. swim 3. fly(飞) 4. quack(叫) 其中... 阅读全文
posted @ 2010-01-30 16:30 钱途无梁 阅读(391) 评论(0) 推荐(0) 编辑
三层架构与养猪—《.NET深入体验与实战精要》
摘要:一个理解三层架构的精辟比喻,希望大家看过之后能很好的理解三层架构~为了更好地让初学者轻松入门,这里仍然采用趣味性的方式聊一些常用技术点,致力于.NET新手们的快速提高!知识都是普通的,关键是学习的思路。技术源于生活,技术原来可以这样学。抛砖引玉而已。 层次结构在现实社会里随处可见。记得有个笑话讲有个村长得意地向他老婆吹牛:“全中国只有四个人比我官大,乡长、县长、省长和国务院总理R... 阅读全文
posted @ 2010-01-30 16:23 钱途无梁 阅读(398) 评论(0) 推荐(0) 编辑
C#中struct与class的区别
摘要:一. 类与结构的差别   1.值类型与引用类型  结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 system.string 结构 ,通过使用结构可以创建更多的值类型类是引用类型:引用类型在堆上分配地址堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的... 阅读全文
posted @ 2010-01-18 00:16 钱途无梁 阅读(284) 评论(0) 推荐(0) 编辑
【推荐】C# Regex 深入正则表达式 regular expression
摘要:简单的说,Regex是从字符串中查找匹配字符串的应用类。通过Regex,编程人员能够非常方便的从一段数据中提取自己所需要的数据信息。举一个简单的例子: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Regexregex=newRegex(@"d+");Matchm=regex.Match("fox9212gold");Console.WriteLine(m.Value.ToString());结果很明 阅读全文
posted @ 2010-01-06 20:47 钱途无梁 阅读(2947) 评论(1) 推荐(0) 编辑
【PK贴】大家晒下C#开发代码的小技巧啊!
摘要:http://topic.csdn.net/u/20090804/16/3f463808-00ff-479b-b07d-20751534e77c.html 阅读全文
posted @ 2010-01-05 09:40 钱途无梁 阅读(229) 评论(0) 推荐(0) 编辑
.NET c# 单体模式(Singleton)
摘要:单体模式(Singleton)是经常为了保证应用程序操作某一全局对象,让其保持一致而产生的对象,例如对文件的读写操作的锁定,数据库操作的时候的事务回滚,还有任务管理器操作,都是一单体模式读取的。 创建一个单体模式类,必须符合三个条件: 1:私有构造函数(防止其他对象创建实例); 2:一个单体类型的私有变量; 3:静态全局获取接口 下面我写一个类,为了看是不是单体,就加了一个计数器,如果是同一个类,... 阅读全文
posted @ 2010-01-03 19:28 钱途无梁 阅读(804) 评论(0) 推荐(0) 编辑
在Discuz!NT中进行缓存分层
摘要:在以前的两篇文章中,介绍了Discuz!NT中的缓存设计思路以及如何引入Memcached,当然前者是IIS进程的缓存(本地缓存),后者是分布式内存对象缓存系统。 两者通过Discuz!NT中的memcached.config文件中的ApplyMemCached结点的值来决定使用哪一种缓存方式。不过在之后,有朋友反映当使用Memcached时,特别是在大并发来时,效率会打折扣,甚至有很多时间会消耗... 阅读全文
posted @ 2009-12-28 23:56 钱途无梁 阅读(444) 评论(3) 推荐(0) 编辑
System.Web.HttpContext.Current.Cache和System.Web.HttpRuntime.Cache有什么区别?
摘要:System.Web.HttpContext.Current.Cache 属性 ----->是个"属性值"System.Web.HttpRuntime.Cache 属性--------------->是个"属性值"System.Web.Caching.Cache webCache=***-------->是个"类"比如:protected static volatile Syst... 阅读全文
posted @ 2009-12-28 23:07 钱途无梁 阅读(3223) 评论(2) 推荐(0) 编辑
C# 中的 Volatile 关键字
摘要:Volatile 字面的意思时易变的,不稳定的。在C#中也差不多可以这样理解。编译器在优化代码时,可能会把经常用到的代码存在Cache里面,然后下一次调用就直接读取Cache而不是内存,这样就大大提高了效率。但是问题也随之而来了。在多线程程序中,如果把一个变量放入Cache后,又有其他线程改变了变量的值,那么本线程是无法知道这个变化的。它可能会直接读Cache里的数据。但是很不幸,Cache里的数... 阅读全文
posted @ 2009-12-28 22:38 钱途无梁 阅读(328) 评论(0) 推荐(0) 编辑
使用C# lock同时访问共享数据
摘要:使用C# lock同时访问共享数据   经常碰到同时需要对某个数据进行操作,或者对某个文件进行读写操作,对于这些操作我们以前往往不能很好的进行处理,自从C#语言中引入了lock这个关键字,以上问题就比较容易予以解决了,下面就是一段简单的代码。代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.C... 阅读全文
posted @ 2009-12-27 20:11 钱途无梁 阅读(1133) 评论(1) 推荐(0) 编辑
描述C#多线程中 lock关键字
摘要:本文介绍C# lock关键字,C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。  每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键... 阅读全文
posted @ 2009-12-27 19:54 钱途无梁 阅读(34528) 评论(6) 推荐(7) 编辑