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

2010年1月29日

摘要: C#网络编程(同步传输字符串) - Part.2服务端客户端通信在与服务端的连接建立以后,我们就可以通过此连接来发送和接收数据。端口与端口之间以流(Stream)的形式传输数据,因为几乎任何对象都可以保存到流中,所以实际上可以在客户端与服务端之间传输任何类型的数据。对客户端来说,往流中写入数据,即为向服务器传送数据;从流中读取数据,即为从服务端接收数据。对服务端来说,往流中写入数据,即为向客户端发... 阅读全文

posted @ 2010-01-29 15:24 Watcher 阅读(3996) 评论(7) 推荐(3) 编辑

摘要: C#网络编程(基本概念和操作) - Part.1引言C#网络编程系列文章计划简单地讲述网络编程方面的基础知识,由于本人在这方面功力有限,所以只能提供一些初步的入门知识,希望能对刚开始学习的朋友提供一些帮助。如果想要更加深入的内容,可以参考相关书籍。本文是该系列第一篇,主要讲述了基于套接字(Socket)进行网络编程的基本概念,其中包括TCP协议、套接字、聊天程序的三种开发模式,以及两个基本操作:侦... 阅读全文

posted @ 2010-01-29 11:19 Watcher 阅读(31657) 评论(7) 推荐(12) 编辑

2010年1月28日

摘要: 《.Net之美》理解泛型.Net 1.1版本最受诟病的一个缺陷就是没有提供对泛型的支持。通过使用泛型,我们可以极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱、拆箱,在一定程度上提升了应用程序的性能。本文将系统地为大家讨论泛型,我们先从理解泛型开始。1.1 理解泛型1.1.1 为什么要有泛型?我想不论大家通过什么方式进入了计算机程序设计这个行业,都免不了要面对数据结构和算法这个... 阅读全文

posted @ 2010-01-28 10:47 Watcher 阅读(1030) 评论(2) 推荐(2) 编辑

2010年1月22日

摘要: .Net Remoting(远程方法回调) - Part.4Remoting中的方法回调1. 远程回调方式说明远程方法回调通常有两种方式:客户端也存在继承自MarshalByValueObject的类型,并将该类型的实例作为参数传递给了远程对象的方法,然后远程对象在其方法中通过该类型实例的引用对它进行调用(访问其属性或者方法)。记得继承自MarshalByValueObject的类型实例永远不会离... 阅读全文

posted @ 2010-01-22 16:09 Watcher 阅读(549) 评论(0) 推荐(0) 编辑

2010年1月20日

摘要: C# 中的泛型术语表generics:泛型type-safe:类型安全collection: 集合compiler:编译器run time:程序运行时object: 对象.NET library:.Net类库value type: 值类型box: 装箱unbox: 拆箱implicity: 隐式explicity: 显式linked list: 线性链表node: 结点indexer: 索引器简介... 阅读全文

posted @ 2010-01-20 17:52 Watcher 阅读(258) 评论(0) 推荐(0) 编辑

摘要: C# 中的枚举器术语表Iterator:枚举器如果你正在创建一个表现和行为都类似于集合的类,允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的。这在C# 2.0中比 C# 1.1更容易实现一些。作为演示,我们先在 C# 1.1中为一个简单的集合添加枚举,然后我们修改这个范例,使用新的C#2.0 枚举构建方法。我们将以创建一个简单化的List Box作为开始,它将包含一个8字符串... 阅读全文

posted @ 2010-01-20 17:27 Watcher 阅读(242) 评论(0) 推荐(0) 编辑

摘要: .Net Remoting(分离服务程序实现) - Part.3分离服务程序集元信息和实现在上面Remoting基本操作的范例中,我们发现了这样一个情况:即是 客户应用程序 仍然需要引用 服务程序集(ServerAssembly),因为它需要DemoClass的元信息来创建代理。使用这种共享服务程序集的方式构建Remoting程序,其运行时的示意图如下所示:可以看到 宿主应用程序域(Host Ap... 阅读全文

posted @ 2010-01-20 16:43 Watcher 阅读(420) 评论(0) 推荐(0) 编辑

2010年1月19日

摘要: 创建常量、原子性的值类型概述本文是《Effective C#》一书第七节的读书笔记。通过这篇文章,我主要想向大家说明一个我们平时可能不太会注意到的问题:创建具有常量性和原子性的值类型。从类型设计谈起从Class到Struct假如我们要设计一个存储收信人地址的类型(Type), 我们管这个类型叫 Address。它应该包含这样几个属性:Province 省City 市Zip 邮编要求对Zip的格式进... 阅读全文

posted @ 2010-01-19 16:03 Watcher 阅读(252) 评论(0) 推荐(0) 编辑

摘要: C# 类型基础引言本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的。由此又引出了 引用类型和 值类型,以及相关的对象判等、装箱、拆箱... 阅读全文

posted @ 2010-01-19 15:04 Watcher 阅读(2078) 评论(2) 推荐(1) 编辑

摘要: .Net Remoting(基本操作) - Part.2Remoting 构架接下来我们考虑通常的情况,也就是 客户程序 与 宿主程序 位于不同的进程中的情况。NOTE:因为我是在我本地机器做的测试,所以只是位于不同进程,实际上位于不同机器中的操作是完全一样的,仅仅是Uri不同,下面将会看到。Remoting 是.Net Framework的一个组成部分,作为一个框架(Framework),两个必... 阅读全文

posted @ 2010-01-19 10:37 Watcher 阅读(548) 评论(1) 推荐(0) 编辑