随笔 - 343  文章 - 8 评论 - 500 trackbacks - 19
<2011年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

公告:发表时间超过两个月的随笔的源码一般都被删除了,请勿留言索取。

昵称:天方
园龄:6年2个月
粉丝:28
关注:1

搜索

 
 

常用链接

最新随笔

随笔分类

随笔档案

文章分类

.net学习

最新评论

阅读排行榜

评论排行榜

推荐排行榜

04 2011 档案
用AsyncCtp实现一个简单的EchoServer
摘要: 看到今天又支持SP1的AsyncCTP下载了,下载试用了一下,顺便写了一个EchoServer。staticvoidMain(string[]args){varlistener=newTcpListener(newIPEndPoint(IPAddress.Loopback,3000));listener.Start();while(true){varclient=listener.AcceptTcpClient();TaskEx.Run(async()=>{using(varstream=client.GetStream())using(varwriter=newStreamWriter阅读全文
posted @ 2011-04-14 23:55 天方 阅读(209) | 评论 (0) 编辑
用Reactive Extensions实现一个简单的EchoServer
摘要: 在昨天的随笔Reactive Extensions学习里,我写了个简单的stream异步读操作的扩展封装。今天我用它来实现了一个简单的EchoServer://一个简单的异步echoserverstaticvoidMain(string[]args){varlistener=newTcpListener(newIPEndPoint(IPAddress.Loopback,3000));listener.Start();while(true){varclient=listener.AcceptTcpClient();varstream=client.GetStream();varwriter=ne阅读全文
posted @ 2011-04-11 20:22 天方 阅读(172) | 评论 (1) 编辑
Reactive Extensions学习
摘要: 今天抽空学习了一下Reactive Extensions库,感觉还是比较容易上手的,顺手练习了一下,写了个ReadAsync的扩展。staticvoidMain(string[]args){varbufferSize=1000;varbuffer=newbyte[bufferSize];varstream=File.OpenRead(@"r:\1.txt");stream.ReadAsync(buffer).Subscribe(onNext:i=>{Console.Write(Encoding.Default.GetString(buffer,0,i));},onCo阅读全文
posted @ 2011-04-11 00:13 天方 阅读(275) | 评论 (1) 编辑
实现双击IE9的Tab键关闭当前页面的功能
摘要: 今天研究了一下如何实现双击IE9的Tab键关闭当前页面的功能,实现这个功能的基本原理如下:建立全局鼠标钩子,获取双击Tab时候的消息,触发Tab被双击的事件。发送Ctrl+W键盘消息,触发快捷键功能关闭当前Tab页。这里有几个问题需要解决:如何获取鼠标双击事件:通过spy++检测后发现,发现Tab栏是一个类型为DirectUIHWND的类,它是一个TabControl,本身并不支持鼠标双击消息,因此,需要自己根据MouseUP消息判断是否为双击消息(通过两次MouseUp的时间间隔来判断)。如何判断是否双击的Tab栏:由于创建的是全局钩子,所有的鼠标消息都会被截取到,因此这里要进行过滤。具体的阅读全文
posted @ 2011-04-05 16:52 天方 阅读(486) | 评论 (0) 编辑