摘要: 使用无连接的套接字,我们能够在自我包含的数据包里发送消息,采用独立的读函数读取消息,读取的消息是使用独立的发送函数发送的。但是UDP数据包不能保证可靠传输,存在许多的因素,比如网络繁忙等等,都有可能阻止数据包到达指定的目的地。(1)UDP的简单应用: 由于UDP是一种无连接的协议。因此,为了使服务器应用能够发送和接收UDP数据包,则需要做两件事情: 创建一个Socket对象; 将创建的套接字对象与本地IPEndPoint进行绑定。 完成上述步骤后,那么创建的套接字就能够在IPEndPoint上接收流入的UDP数据包,或者将流出的UDP数据包发送到网络中任意其他设备商。使用UDP进行通信时,不需 阅读全文
posted @ 2014-01-27 15:51 armyfai 阅读(1498) 评论(0) 推荐(0) 编辑
摘要: Lambda表达式实际上是一个匿名函数。它包含表达式和语句,常用于创建委托或表达式目录树类型。所有Lambda表达式都是用Lambda运算符---------- =>,该运算符读为“goesto”。Lambda运算符的左边是输入参数(可能没有),右边是表达式或语句块。Lambda表达式返回右边表达式的结果。其基本格式如下:(input paramenters)=>expression其中,parameters是一个参数列表,在Lambda只有一个输入参数时可以不适用括号,否则括号是必须的。两个或更多输入参数由括在括号中的逗号分隔,如以下代码所示,包括两个参数x和y。(x,y)=&g 阅读全文
posted @ 2014-01-24 09:28 armyfai 阅读(3306) 评论(0) 推荐(0) 编辑
摘要: 服务端using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading;namespace SocketDemo { class Program { static Socket serverSocket; static Socket clientSocket; static Thread thread; static void Main(strin... 阅读全文
posted @ 2014-01-23 16:06 armyfai 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 在GIS(地理信息管理系统)中,判断一个坐标是否在多边形内部是个经常要遇到的问题。乍听起来还挺复杂。根据W. Randolph Franklin 提出的PNPoly算法,只需区区几行代码就解决了这个问题。假设多边形的坐标存放在一个数组里,首先我们需要取得该数组在横坐标和纵坐标的最大值和最小值,根据这四个点算出一个四边型,首先判断目标坐标点是否在这个四边型之内,如果在这个四边型之外,那可以跳过后面较为复杂的计算,直接返回false。if (p.x maxX || p.y maxY) { // 这个测试都过不了。。。直接返回false;}接下来是核心算法部分:int pnpoly (int n.. 阅读全文
posted @ 2014-01-22 09:39 armyfai 阅读(18166) 评论(0) 推荐(3) 编辑
摘要: 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问 阅读全文
posted @ 2014-01-20 16:34 armyfai 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 大话C#之委托前言开篇先来扯下淡,上篇博客LZ在结尾说这篇博客会来说说C#中的事件。但是当LZ看完事件之后发现事件是以委托为基础来实现的,于是LZ就自作主张地在这篇博客中先来说说委托,还烦请各位看官见谅!!!另外关于委托推荐一篇Jimmy Zhang写的关于委托的博客(C# 中的委托和事件),叙述非常有条理,可见子阳兄的文笔不凡。博客结构加工厂问题委托来提高加工厂效率委托的更多用法委托到底是什么加工厂问题假设现在我们开了一个电子设备外包工厂(就像里面有很多人跳楼的那某某康),专门负责为国际上的大公司代工生产电子设备产品。某天,加工厂收到了来自美国苹果公司的订单,苹果公司委托加工厂为他们生产一批 阅读全文
posted @ 2014-01-20 13:01 armyfai 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 公司开发的网站老是从添加信息页面返回到列表页面时看不到最新添加的记录,明知道是缓存引起的,可是没有在程序中添加缓存的代码。认为不是页面缓存的问题,后来通过设置浏览器的 Internet选项--浏览历史记录下(设置按钮)--每次访问时,问题解决,但是仅仅解决的是一台电脑的问题,并且不能让所有人都这样设置啊。通过设置web.config下的(代码如下),所有问题解决。<system.web><caching> <outputCacheSettings> <outputCacheProfiles> <add name="MyProfil 阅读全文
posted @ 2012-12-14 11:38 armyfai 阅读(480) 评论(1) 推荐(0) 编辑
摘要: Http模块(HttpModule)和Http处理程序(HttpHandler)都是用来响应用户请求事件的程序,但二都作用不一.HTTP 模块是一个在每次针对应用程序发出请求时调用的程序集。ASP.NET HTTP 处理程序是响应对 ASP.NET Web 应用程序的请求而运行的过程(通常称为“终结点”)。若程序中调用了用户自定的HttpHandler程序,将会覆盖程序内置的HttpHandler;但在程序中可以使用多个HttpModule;以下就HttpModule写一个验证用户是否登录的例子:using System;using System.Data;using System.Confi 阅读全文
posted @ 2012-11-20 17:16 armyfai 阅读(823) 评论(0) 推荐(0) 编辑
摘要: 1、准备string name = "杭州";string strDefault = HttpUtility.UrlEncode(name,System.Text.Encoding.Default);string strASCII = HttpUtility.UrlEncode(name,System.Text.Encoding.ASCII);string strUnicode = HttpUtility.UrlEncode(name,System.Text.Encoding.Unicode);string strUTF8 = HttpUtility.UrlEncode(n 阅读全文
posted @ 2012-11-20 14:46 armyfai 阅读(3099) 评论(0) 推荐(0) 编辑
摘要: 可能现在许多ASP.NET 程序员依然习惯在后台使用Response.Write 方法来查看某个变量的值。其实,微软提供了很好的调试工具,即Trace.axd。它的功能主要是:配置 ASP.NET 代码跟踪服务以控制如何收集、存储和显示跟踪结果。关键的几个选项:1、localOnly 默认为false。这个很好理解。如果为true,只在本地输出跟踪信息。2、enabled 是否启用跟踪。3、pageOutput 指定在每一页的结尾是否呈现跟踪输出。如果是false ,则只能通过跟踪实用工具访问跟踪输出。(http://域名/Trace.axd来查看)4、requestLimit 指定在服务器上 阅读全文
posted @ 2012-11-14 09:28 armyfai 阅读(488) 评论(0) 推荐(0) 编辑