摘要:
1.粘包目前sl中的socket只能用tcp/ip协议,而tcp/ip本质是一个"流"协议,也就是说数据无边界,发送的就是一连串的字节(没有数据包的概念),因此连续发送时有所谓的“粘包”现象,详细解释如下:比如你设置发送缓冲区的大小是512字节,如果(在相隔时间极短的情况下)连续发送次数据,第一次为500字节,第二次为100字节,实际上你在服务器端接收到的二次数据长度并不是... 阅读全文
摘要:
原文:http://blog.csdn.net/flyasm/archive/2006/06/15/800666.aspx对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包.自从我从事网络通讯编程工作以来(大概有三年的时间了),我一直在思索和改进封包和拆包的方法.下面就针对这个问题谈谈我的想法,抛砖引玉.若有不对,不妥之处,恳求大家指正.在此先谢过大家了.一.为什么基于TCP的... 阅读全文
摘要:
序列化简言之是这样一种能力:能够把复杂的对象(Object)变成某种格式的字符串(常见的格式有xml,string,二进制文件等),这样可以方便的在各种系统中传输或交换(比喻socket编程中的数据包只能用byte[]传输),接收方得到该字符串后,通过反序列化可以还原为复杂对象,进而调用对象的方法或属性 -- 跟反射有点沾边:)这里先给出一个WinForm的序列化例子,功能为通过打开文件对话框选择... 阅读全文
摘要:
silverlight中的socket通讯支持,让sl开发基于web的聊天工具成为了可能,后来OpenFileDialog,SaveFileDialog的出现,更使得边聊天边传送图片(文件)得以实现,最新的SL4中又加入了摄像头支持,也许不久真的可以用silverlight开发出功能强大的视频聊天系统,目前唯一还没有解决的是p2p问题,根据sl3的sdk文档所述:Socket 类为网络通信提供了一... 阅读全文
摘要:
这二天在研究webabcd的socket多人聊天室,想尝试增加一些功能,比如:允许用户除发送文字外,还能发送图片或文件。问题:socket发送数据时,只能发送byte[]数组,且无法附带其它用户自定义参数,服务端如何知道用户发过来的是文字还是图片或是文件呢,所以只能在byte数组上动脑筋了.silverlight中,用户选择的图片或文件,都能变成FileStream,近而变成byte数组,初步想法... 阅读全文
摘要:
先来看一下简单的多线程控制台程序:[代码]入口方法Main里,创建了二个线程,分别调用方法t1与t2,再加上主线程本身,一并有三个线程,运行后,三个线程都在计数输出,结果类似如下:t2的x:1t1的x:1主线程中的x:1t2的x:2t1的x:2主线程中的x:2t2的x:3t1的x:3主线程中的x:3t2的x:4t1的x:4主线程中的x:4t2的x:5t1的x:5主线程中的x:5三个线程的顺序,在这... 阅读全文
摘要:
一般来讲,当启动一个应用程序时,系统里就生成了一个进程, 这个进程拥有自己的内存空间。(我们平时用windows的任务管理器看到的也就是进程)但也有特殊:比如IE8,它采用了多进程设计,打开IE8后,会在任务管理器里有多个iexplore.exe每个进程内部可以创建多个线程, 这些线程之间共用一个进程的内存空间(即线程之间可共享内存)。我们做多线程开发,其实就是在同一个进程内部创建了多个线程。 阅读全文
摘要:
单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如:[代码]运行时,会报出一个无情的错误:线程间操作无效: 从不是创建控件“textBox1”的线程访问它。究其原因,winform中的UI控件不是线程安全的,如果可以随意在任何线程中改变其... 阅读全文
摘要:
近日在研究webabcd的silverlight socket聊天室时,发现一个很眼生的东东SynchronizationContext(它不认得我,我也不认得它,哈哈),摆渡了下,发现园子里有一位兄弟的文章解释得不错,转贴与此,原文:http://www.cnblogs.com/Kevin-moon/archive/2009/01/13/1374353.html理解Synchronization... 阅读全文
摘要:
先看效果图:步骤:1.先启动Microsoft Expression Design 3a.画一个正圆,再随便打几个字,同时选中文字和圆b.选择菜单栏中的"对象"-->"路径上的文本"-->"附加文本",调整文本内容,间距等,让其正好布满圆圈,调整好以后,再把圆形的填充和边框去掉(即无填充,无边框)c."文件"-->"导出",格式选择"Xaml Silverlight3画布"2.启... 阅读全文
摘要:
一、委托Delegate一般的方法(Method)中,我们的参数总是string,int,DateTime...这些基本的数据类型(或者没有参数),比如[代码]但是有些时候,我们希望把一个方法本身当做参数传递给另一个方法,比如myObject.callMethod(HelloWorld);在没有委托之前,这是一件极困难的事情,委托出现以后,这就是一件很容易的事情了,简单点讲:委托就是一种能把方法当... 阅读全文
摘要:
原文:http://blog.csdn.net/banmuhuangci/archive/2009/05/16/4192031.aspx刚接触Silverlight的时候,除了其异步应用WCF、流媒体、动画效果等方面外,Socket是最另我兴奋的功能。在Web上实现Socket虽然不是什么新鲜事了,Activex,flash等都可以实现这样的效果,但是Silverlight这样方便的运用Socke... 阅读全文
摘要:
Silverlight4终于支持摄像头和麦克风了,网页上的视频聊天将不再是Flash的专利!今天在一个老外的网站上看到webCam的使用示例(http://elegantcode.com/2009/11/20/silverlight-4-webcam-a-quick-glance/),非常简单,转帖整理如此:界面:一个Button,一个Rectangle,哈,够简单吧图1按下按钮,将连接到摄像头关... 阅读全文
摘要:
不知道为啥,最近很热衷于研究相册效果:)视觉状态(VisualState)真的太好用了,借一句本山大叔的台词:"谁用谁知道"PS:以后帮美女做相册这种“讨女生欢心”的活儿,咱程序员也可以自己来了,光棍程序员们赶紧加油学SL啊,没准终生大事就靠它了!在线演示地址:http://images.24city.com/jimmy/vsmAlbum/这个里面把图片放大,图片缩小,加载... 阅读全文
摘要:
SL4终于支持网络摄像头,很是激动,以后可以完全不用flash那一套了,兴奋之余,发几个美女纪念一下,效果图如下:在线演示地址: http://images.24city.com/jimmy/photoshow/ 源码是根据silverlight.net首页动画效果反编译得来的,下载地址见http://www.cnblogs.com/yjmyzz/archive/2009/11/12/16020... 阅读全文
摘要:
由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了: "Provider... 阅读全文
摘要:
先要开启PAE功能,方法如下:打开 Boot.ini 文件,然后将 /PAE 参数添加到boot.ini中,如以下所示:multi(0)disk(0)rdisk(0)partition(2)\%systemroot%="Windows Server 2003, Datacenter Edition" /PAE 如果CPU、主板、操作系统都支持并启用PAE(物理地址扩展),那么此时的物理内存地址总线... 阅读全文
摘要:
相册/图片切换广告等很多常用小应用中,服务器返回一组图片的uri,然后silverlight利用WebClient异步加载,如果要严格控制加载顺序的话,可以利用Stack(堆栈)或Queue(堆栈)处理,思路:不要全部一起加载,先加载第一个,在完成的异步回调过程中,继续发起一下次异步。回想我们在ajax开发中,有一种技术叫"http长连接",在每一次ajax异步请求完成时,继续发起下一个异步请求,... 阅读全文
摘要:
1.导入命名空间xmlns:clr="clr-namespace:System;assembly=mscorlib"2.然后就可以这样用了Application.ResourcesResourceDictionary clr:String x:Key="ShowcaseLocation"http://www.silverlight.net/showcase//clr:String...3.使用 var s = Application.Current.Resources["ShowcaseLocation"].ToString()源文件:http://files.cnblogs. 阅读全文
摘要:
{x:Null}:用于设置某属性值为Null,比如<Rectangle Fill="{x:Null}" />,其实就相当于<Rectangle />,个人感觉这个纯属MS的多余设计另外要注意一个问题:<Rectangle x:Name="rect" Stroke="Black" Width="90" Height="90" MouseLeftButtonUp="Rec... 阅读全文
摘要:
下午心血来潮,想看看MS的开发人员是如何做silverlight的,出于学习目的把silverlight.net官方首页的图片轮换通过分析html源代码,下载xap后反编译了一下,分析后的源代码略作修改备份于此,希望对大家学习silverlight有用,请勿用于非法商业用途。(个人觉得对于初学者还是有一些可以借鉴学习的地方,一个貌似简单的图片轮换,用到了wcf,stack堆栈,异步加载,visua... 阅读全文
摘要:
本文不涉及高深的设计模式(比如mvc,mvvm之类),也没有太多的编程技巧,只是记录自己做为asp.net开发者学习silverlight中自定义控件开发的一些过程,高手请绕过。先推荐一篇不错的文章http://www.cnblogs.com/carysun/articles/1259025.html写得很全面,只不过图片讲解不够丰富,初学者可能有些感到跳跃性大了一些。正文开始:做过asp.net... 阅读全文
摘要:
“逐帧动画”与“播放GIF”貌似二个风马牛不相干的问题,其实不然!因为silverlight中的image控件不支持直接把gif动画做为source,所以象做动画常用的"走路的小人","加载loading小动画"...这类经典gif素材,无法直接使用,只能转化为逐帧动画来处理。nasa(silverlight MVP)给出于二种经典的办法:1.类似老... 阅读全文
摘要:
asp.net开发中,数据绑定是一个很简单的概念,控件与数据绑定后,控件可以自动把数据按一定的形式显示出来。(当然控件上的值改变后,可以通过提交页面表单,同时后台服务端代码接收新值更新数据)silverlight中利用控件显示数据这一基本功能当然还保留,只不过因为silverlight应用不需要刷新(也不存在提交表单),所以当控件属性或数据源变化后,在如何相互影响这一块的处理上有所不同。引用一段s... 阅读全文
摘要:
所谓的deeplink技术是为了解决silverlight(或flash)之类的RIA Web应用无法被搜索引擎收录而出现的,属于SEO范畴。就拿最常见的企业网站为例,里面有企业简介(About),产品展示(Product),联系我们(AboutUs)...等常见模块,如果全站都用silverlight/flash来做,default.html页面上用object嵌入一个xap/swf就完事了,搜... 阅读全文
摘要:
这篇应该是"silverlight3的"伪"3D续--图片横向轮换"的后续篇章,代码基本上从上篇代码修改而来,界面则抄袭了nasa的相册,自己一直做数据库相关的电子商务开发,虽然断断续续学习了一阵silverlight,但对RIA开发还没找着感觉,基本上仍处于从asp.net程序员看silverlight的初级阶段,这个权当练手,废话不多说,直接看效果图:演示地址:http://images.24... 阅读全文
摘要:
昨天在调试项目时,意外发现一个奇怪的问题,实在不知道如何准确描述,所以随便起了个标题。项目中有一个wcf供jquery调用,wcf示例代码如下:[代码]简单得不能再简单了,返回一个json格式的Hello World!在非IE浏览器里用 http://localhost/wcf/service.svc/Test/ 测试(因为IE7以上版本好象不能直接打开访问wcf中的办法,会提示禁止访问,所以只能... 阅读全文
摘要:
先准备一个基本的xaml页面[代码]结构不复杂,里面就放了一张图片,同时预置了一个动画storyTest,里面把几种常见的动画形式都列在里面了,下面就来看看如何动态改变storyTest动画的属性(比如改变旋转的起始角度之类)1.直接加x:Name,然后引用赋值[代码]注意高亮部分,然后象这样引用[代码]这样我们就把00:00:01秒时角度由360改为20度了2.利用StoryBoard的Chil... 阅读全文
摘要:
上一篇里,已经知道了“伪3D”是怎么回事,今天结合以前的做的图片广告轮换,又弄了一个图片切换的小东东,不知道以后有什么用,先贴在这里备份:效果图:因为silverlight的xml读取策略等其它原因,没办法直接在博客中贴出来,下面是在线示例地址:http://images.24city.com/jimmy/projection/default.htm思路:1.将每个图片以及... 阅读全文
摘要:
原文:http://blog.yotuo.net/post/2009/10/Video-chat.html视频聊天网站的主要技术模式以及相关比较:1、基于软件的视频聊天网站。a) 纯C/S架构,基于软件的视频聊天网站,视频聊天平台是软件而不是网站。通过网站与软件的数据同步来实现视频聊天网站的功能。网站会员通过下载网站提供的客户端登陆,然后在统一的软件平台里进行视频交流。此类技术比较典型的就是:91... 阅读全文
摘要:
原文:http://blog.joycode.com/ghj/archive/2008/07/25/115200.aspxASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用。 绝大多数的人只熟悉高层的框架如: WebForms 和 WebServices --这些都在ASP.NET层次结构在最高层。这篇文章的资料收集整理自各种微软... 阅读全文
摘要:
最近将原来的系统迁移到IIS7.5上了,发现AspNetUpload只能运行在"程序程序池"的"经典"模式之下,采用"集成"模式后,AspnetUpload.GetUploadFile始终为null,虽然改成经典不影响系统运行,但是这种模式就发挥不出IIS7的优势了,相当于以IIS6的兼容模式在运行,不知道作者会不会改进。以下是MDSN上的关于应用程序池"集成"与"经典"模式的解释:(http:/... 阅读全文
摘要:
silverlight3中的3d效果,实际上是通过2d+算法模拟出来的"伪3D"(个人估计可能是考虑跨平台和显卡硬件支持通用性所以最终采用了这种设计)上面演示了基本的3d效果,本质是通过将图片绕着x,y,z三个轴旋转产生关键代码:[代码][代码]至于3d应用,只是利用y轴旋转+clip属性,排出一个常用相册的UI界面(这种界面以后估计会在触摸屏上流行起来)projection除了这里演示的3个参数... 阅读全文
摘要:
虽然linq to xml随着.net framework3.0一起发布N久了,但因为自己以前参考网上的代码封装了一个xml操作类(当时linq to xml还没出来,这个封闭工具类一直也用得很顺手),所以在项目中也几乎极少用linq to xml,最近业余时间学习silverlight,原来针对winform/webform开发写的一些工具库部分要作修改才能用于silverlight,懒得一一移... 阅读全文
摘要:
早上看了司徒先生的js版属性选择器(http://www.cnblogs.com/rubylouvre/archive/2009/10/27/1590102.html),也激发了我深入了解css选择器的学习欲望,整理于此以便日后备查*:匹配任何元素。 例如: *{margin:0}E:匹配任何E元素。例如: div{color:red}E F:匹配E的所有后代F元素。E > F:匹配E的所有... 阅读全文
摘要:
IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本类型外,还新增了一种ApplicationPoolIdentifywin7的官方帮助上是这么说的:ApplicationPoolIdentity – 默认情况下,选择“应用程序... 阅读全文
摘要:
明天是win7中文版的正式发售日期,作为MS的粉丝,特地在今天到网上down了一个D版(是旗舰版哦!)体验了一把,基于xp/vista在web程序员心中的恶劣印象(主要是xp的IIS不能新建站点,只能建虚拟目录这一点让我很反感;vista则太难用,简直鸡肋),本来对win7也没抱多大希望,结果试了一天发现比我想象中的要好,以下是试用手记(仅做学习交流之用,建议大家有银子的话,还是支持正版)1.先到... 阅读全文
摘要:
前一阵公司唯一的前端开发人员走掉了,短期内也没人顶上来,所以切页面/js这种活儿只能咱自个儿揽过来了,花了大半天捣鼓了下css,整理了二个基本的css库,方便以后切页面,贴在这里备份说明:p.css ---即public.css,用来定义一些常见的公用样式l.css ---即layout.css,用来定义栅格系统的常用布局(不清楚栅格系统的统子们,先到这里扫扫盲http://www.cnblogs... 阅读全文
摘要:
直接看代码吧,测试结果也贴在里面了[代码]结论:1.数组调用sort方法后,会影响本身(而非生成新数组)2.sort()方法默认是按字符来排序的,所以在对数字型数组排序时,不可想当然的以为会按数字大小排序!3.要改变默认的sort行为(即按字符排序),可以自行指定排序规则函数(如本例所示) 阅读全文
摘要:
虽然我是做后台出身的,但最近心血来潮越来越关注前台技术了^_^,前二天看了“司徒正美”先生的图片无缝滚动分析后,对于scrollTop和offsetTop这二个以前一直没搞太明白的属性研究了一番,大致弄明白了,贴在这里备份,测试代码如下:[代码]代码很简单,一个100px的正方形div,border边框值为15px,overflow设置为hidden(隐藏),然后里面放了二... 阅读全文