文章分类 -  c#消遣

C# Socket开发之异步【转自CSDN】
摘要:在基于.NET的网络服务端的开发中,我们用到和听到的最多的恐怕就是异步Socket了。异步Socket的性能比同步高出很多,但是编写代码比较复杂。因此异步Socket也是网络上讨论比较多的话题。今天,我们就来讨论一下如何用异步Socket开发网络应用。在此之前我们先讨论两个问题。一、异步Socket是如何工作的:那异步Socket是如何工作的呢?我以接收一条消息来说明这个问题。首先,程序向系统投递一个接收数据的请求,并为其指定一个数据缓冲区和回调函数,回调函数用来指示当数据到达后将如何处理,然后我们的程序继续执行下去,当有数据到达的时候,系统将数据读入缓冲区,并执行回调函数,处理这条消息。我们 阅读全文
posted @ 2011-06-22 09:15 windfree 阅读(506) 评论(0) 推荐(0)
C# Socket开发之同步【转自CSDN】
摘要:NET Socket开发之同步Socket实现两例今天,我们来讲一下在.NET 网络应用程序开发中同步Socket的应用,很多人认为在网络应用的服务端Socket不应该使用同步Socket。是的,在大多数情况下是这样的,但是也有一些场景下我们使用同步Socket可能会得到更的结果。如在下面的两种场景下我们便可以考虑使用同步的Socket。一、客户端数量比较少:数量比较少是指会同时连接到服务器的客户端数量一般在50人以下。这种情况下我们可以考虑使用同步Socket+Thread来实现我们的服务端。这样会让我们编写逻辑更清晰的代码而性能不会下降太多。二、客户端数量较多但都是短连接:短连接是指客户端 阅读全文
posted @ 2011-06-22 09:14 windfree 阅读(517) 评论(0) 推荐(0)
c# 最基本的Socket编程【转自CSDN】
摘要:示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息;这里只是一个简单的示例,是一个最基本的socket编程流程,在接下来的文章中,会依次记录套接字的同步和异步,以及它们的区别。下面是示例程序的简单步骤说明服务器端:第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;第二步:建立一个Socket对像;第三步:用socket对像的Bind()方法绑定EndPoint;第四步:用socket对像的Listen()方法开始监听;第五步:接受到客户端的连接,用socket对像的Accept()方法创建新的socket对像用于和请求的客户端进行通信 阅读全文
posted @ 2011-06-22 09:12 windfree 阅读(298) 评论(0) 推荐(0)
c#操作xml文件简述
摘要:一、XmlDocument操作xml文件1、加载xml文件:XmlDocumentxml=newXmlDocument();xml.Load(FilePath);2、读取某个节点XmlNoderootNode=xml.SelectSingleNode("configuration");//读文件并获取根节点3、某个节点下所有子节点XmlNodeListchildNodes=rootNode.ChildNodes;//根节点的所有子节点4、访问某个节点的属性childNodes[i].Attributes["key"].Value;5、新增某个节点XmlE 阅读全文
posted @ 2011-05-08 23:08 windfree 阅读(160) 评论(0) 推荐(0)
entity的一个bug
摘要:在我们用ado.netentityframework做数据层提交数据时如果对应数据库有字段为text类型时在SSDL中映射为<PropertyName="FBody"Type="text"/>当提交时有时数据会出现提交出错,错误代码为:ServerErrorin'/'Application.传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。参数4("@1"):数据类型0xA7的数据长度或元数据长度无效。Description:Anunhandledexceptionoccurreddurin 阅读全文
posted @ 2011-05-08 23:07 windfree 阅读(322) 评论(0) 推荐(0)
Lambda表达式及Lambda表达树[转]
摘要:(懒人直接就转载了)Lambda表达式的概念什么是lambda表达式?Lambda 表达式是一种匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。我们使用lambda表达式可以帮助我们编写精简和紧凑的代码,许多操作中允许自定义排序和过滤的函数,在.NET2.0的时候通常使用委托函数来实现,在.NET3.5可以使用lambda表达式。现在举例说明lambda表达式: Func<int,int> addOne= item=> item+1 ,其中操作符 “=>”读作“Goes to”,可以理解为操作符左边的是函数的参数,操作符右边是函数体内容。上面我们 阅读全文
posted @ 2011-05-08 22:52 windfree 阅读(955) 评论(0) 推荐(0)
http运行时基本结构
摘要:1、HTTP运行时指从IIS接受用户请求到响应结果返回给用户为止。2、简述:(1)运行时首先创建HttpApplication对象实例来处理请求。(2)然后按照配置文件(machine.config和web.config)的要求,按照在配置文件中定义的顺序依次调用若干HttpModule类,并触发这些类的方法。(3)而HttpModule会按照配置文件来调用相应的HttpHandle类处理请求。HttpHandle是真正处理请求的容器(Page类就是一个httphandle)。(注:此处并非在处理httpmodule时中断去调用httphandle)(注:并非直接定位到httphandle上, 阅读全文
posted @ 2011-05-08 22:48 windfree 阅读(333) 评论(0) 推荐(0)