随笔分类 -  C#

摘要:好久没写博客,今天上来看看,都长草了,看来得打扫打扫了。最近在研究 ASP.NET MVC 3和WCF Reset Service,突然想看看把它们放在一起会怎么样。想到这里动手就干。下面就是我写的代码:public class MvcApplication : System.Web.HttpApplication { public static void RegisterGlobalFilter... 阅读全文
posted @ 2011-06-13 22:16 牧野 阅读(3777) 评论(13) 推荐(4) 编辑
摘要:C#编程的一个优点是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所有的内存清理工作。虽然不必手工管理内存,但如果要编写高质量的代码,还是要理解后台发生的事情,理解C#的内存管理。本文主要介绍给变量分配内存时计算机内存中发生的情况。 阅读全文
posted @ 2009-03-16 15:39 牧野 阅读(1118) 评论(2) 推荐(0) 编辑
摘要:在之前的文章中,我们讲了如何在.NET 2.0下面开发Socket项目。其中的异步Socket让我们得以很轻松的在.NET中开发高性能服务端应用。 但是,在实际应用中我们还是发现了一些问题的存在,如:我们在每一次操作的过程中都要创建一个IAsyncResult上下文对象,如果数据通讯很频繁的话,会导致大量的IAsyncResult对象被创建,大大的增加了垃圾回收器的工作量,从而降低了整个应用的效率。 在.NET 3.5中,这个麻烦已经被解决了,在3.5 版本中,Socket定义了一些新的方法。这些方法不要求每一次操作都创建一个新的上下文对象。 阅读全文
posted @ 2009-03-09 19:34 牧野 阅读(8961) 评论(18) 推荐(2) 编辑
摘要:在Socket应用开发中,还有一个话题是讨论的比较多的,那就是数据接收后如何处理的问题。这也是一个令刚接触Socket开发的人很头疼的问题。 因为Socket的TCP通讯中有一个“粘包”的现象,既:大多数时候发送端多次发送的小数据包会被连在一起被接收端同时接收到,多个小包被组成一个大包被接收。有时候一个大数据包又会被拆成多个小数据包发送。这样就存在一个将数据包拆分和重新组合的问题。那么如何去处理这个问题呢?这就是我今天要讲的通讯协议。 所谓的协议就是通讯双方协商并制定好要传送的数据的结构与格式。并按制定好的格式去组合与分析数据。从而使数据得以被准确的理解和处理。 阅读全文
posted @ 2007-12-24 00:34 牧野 阅读(18877) 评论(58) 推荐(5) 编辑
摘要:在基于.NET的网络服务端的开发中,我们用到和听到的最多的恐怕就是异步Socket了。异步Socket的性能比同步高出很多,但是编写代码比较复杂。因此异步Socket也是网络上讨论比较多的话题。 今天,我们就来讨论一下如何用异步Socket开发网络应用。 阅读全文
posted @ 2007-06-13 23:59 牧野 阅读(22537) 评论(80) 推荐(8) 编辑
摘要:  最近我负责一个IM项目的开发,服务端和客户端采用TCP协议连接。服务端采用C#开发,客户端采用Delphi开发。在服务端开发中我碰到了各种各样的网络异常断开现象。在处理这些异常的时候有了一些心得,现在写出来和大家分享一下。 阅读全文
posted @ 2007-05-22 08:33 牧野 阅读(39395) 评论(90) 推荐(8) 编辑
摘要:一、什么是端口复用:   因为在winsock的实现中,对于服务器的绑定是可以多重绑定的,在确定多重绑定使用谁的时候,根据一条原则是谁的指定最明确则将包递交给谁,而且没有权限之分。这种多重绑定便称之为端口复用。 阅读全文
posted @ 2007-05-22 08:19 牧野 阅读(15149) 评论(34) 推荐(5) 编辑
摘要:IPC(Inter process Communication)就是“进程间通讯”。我们都知道,在windows系统中,各个应用程序(进程)之间常常需要交换、传递数据,这就要解决进程间的数据通信问题。在最初的16位Windows3.x系统中,所有Windows应用程序共享单一地址,任何进程都能够对这一共享地址空间的数据进行读写操作。 随着Windwos98、Windows NT、Windows2000等32位的操作系统的出现,每个进程都有自己的地址空间,一个Windows进程不能存取另一个进程的私有数据,也就是说,虽然两个进程可以用具有相同值的指针寻址,但所读写的只是它们各自的数据,这样就减少了进程之间的相互干扰。 阅读全文
posted @ 2007-05-22 08:14 牧野 阅读(4981) 评论(17) 推荐(0) 编辑
摘要:IPCChannel是.NET Framework 2.0 里面新增的,它使用 Windows 进程间通信 (IPC) 系统在同一计算机上的应用程序域之间传输消息。在同一计算机上的应用程序域之间进行通信时,IPC 信道比 TCP 或 HTTP 信道要快得多。但是IPC只在本机应用之间通信。所以,在客户端和服务端在同一台机器时,我们可以通过注册IPCChannel来提高Remoting的性能。但如果客户端和服务端不在同一台机器时,我们不能注册IPCChannel。 阅读全文
posted @ 2007-05-22 08:09 牧野 阅读(3460) 评论(7) 推荐(0) 编辑
摘要:今天,我们来讲一下在.NET 网络应用程序开发中同步Socket的应用,很多人认为在网络应用的服务端Socket不应该使用同步Socket。是的,在大多数情况下是这样的,但是也有一些场景下我们使用同步Socket可能会得到更的结果。如在下面的两种场景下我们便可以考虑使用同步的Socket。 阅读全文
posted @ 2007-05-21 09:08 牧野 阅读(7684) 评论(30) 推荐(2) 编辑
摘要:在大家开发网络通讯软件的时候,应该都碰到过这种情况,在定义好通讯协议后要在程序中实现协议相应的功能。 阅读全文
posted @ 2007-05-15 14:14 牧野 阅读(2776) 评论(8) 推荐(0) 编辑