架构深渊

慢慢走进程序的深渊……关注领域驱动设计、测试驱动开发、设计模式、企业应用架构模式……积累技术细节,以设计架构为宗。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2008年12月19日

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->自己在做一个多线程的TCP端口扫描程序,由于要用到多线程技术,而C#对线程技术 的封装非常方便使用,且如果不做网络底层处理,C#使用套接字也非常方便,于是决定用C#.NET实现。 前... 阅读全文

posted @ 2008-12-19 23:25 chen eric 阅读(873) 评论(0) 推荐(0) 编辑

摘要: 1. 避免将多个类放在一个文件里面。 2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。 3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。 4. 一个方法的代码长度最好不要超过25行。 5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。 6. 每行代码不要超过80个字符。 7. 不要手工的修改机器产生的代码。 a) 如果需要编辑机器产生的代码... 阅读全文

posted @ 2008-12-19 23:22 chen eric 阅读(422) 评论(0) 推荐(0) 编辑

摘要: 在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。 正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等待,而另外一个则不会。 而所谓的“一面响... 阅读全文

posted @ 2008-12-19 23:21 chen eric 阅读(25023) 评论(1) 推荐(4) 编辑

摘要: 广播的一个缺点就是,会影响到所有的子网内的计算机,即使对此广播消息不感兴趣的计算机。多播可以解决这个问题。 多播采用推进技术(浏览网页属于拉拔技术,同样属于推进技术的有发送Email服务)。多播也叫组播,如果用户加入某个多播组,那么,它就能够收到发往这个组的数据。 组播应用D类IP地址(224.0.0.0-239.255.255.255),但不是说从每个组播的组接收数据的计算机要具有D类I... 阅读全文

posted @ 2008-12-19 23:20 chen eric 阅读(1316) 评论(0) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->个人认为,还是为线程创建一个单独的类,在类的初始化函数里头为类里头的变量赋值,来达到传入参数比较简单。下面有些方法是有问题的,不过我已经达到了目的就懒得去排错了,哪位朋友看出问题了提醒一下啊。呵... 阅读全文

posted @ 2008-12-19 23:19 chen eric 阅读(497) 评论(0) 推荐(0) 编辑

摘要: 今天在看USSD相关的资料,对网络传输部分的信息进行了回顾,忍不住又看了一遍通信中用的非常多的滑动窗口算法。滑动窗口算法主要是用来解决系统间通信的时候的流量拥塞及控制问题,一个好的实现既可以提高网络通信的数据流量,同时又能提高通信质量和解决拥塞控制问题。 简要描述一下该算法: 1、将需要传递的信息编码为一个有序的帧序列; 2、发送方设置一个滑动窗口(缓冲区),该窗口大小为最大发送帧数(N)。该缓冲... 阅读全文

posted @ 2008-12-19 23:18 chen eric 阅读(888) 评论(0) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->读取 首先引用 ing System.Management; //取CPU号 public string GetCpuID() { try { ManagementClass mc = n... 阅读全文

posted @ 2008-12-19 23:17 chen eric 阅读(318) 评论(0) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 UDP实现可靠文件传输 2 大家都清楚,如果用TCP传输文件的话,是很简单的,根本都不用操心会丢包,除非是网络坏了,就得重来。用UDP的话,因为UDP是不可靠的,所以... 阅读全文

posted @ 2008-12-19 23:13 chen eric 阅读(1510) 评论(0) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 为解决UDP传输中的可靠性和流量控制,参照TCP协议里面的滑动窗口协议写了一个流量控制的东东。还不完善,而且传输速度也不理想(单线程时外网速度才100多K/秒)。 2 3 接收... 阅读全文

posted @ 2008-12-19 23:12 chen eric 阅读(2322) 评论(1) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 //主类:模拟滑动窗口协议 2 3 using System; 4 using System.Collections; 5 using System.Net.Socke... 阅读全文

posted @ 2008-12-19 23:10 chen eric 阅读(1501) 评论(0) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 C#滑动窗口算法实现UDP流量控制【原创】(三)2007-01-15 16:27//接收方 2 3 using System; 4 using System.Collections... 阅读全文

posted @ 2008-12-19 23:07 chen eric 阅读(1210) 评论(0) 推荐(0) 编辑

摘要: 1、iso 分层 tcp/ip分层: 应用层 application 链路层 arp,rarp 表示层 presention ( tcp/ip支持不同的链路层协议,不同的网络硬件有不同的, 会话层 session ... 阅读全文

posted @ 2008-12-19 23:03 chen eric 阅读(354) 评论(0) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->// Remember the time the last packet is sent. self->m_pTimer->rd... 阅读全文

posted @ 2008-12-19 22:58 chen eric 阅读(594) 评论(1) 推荐(0) 编辑

摘要: 最近学习UDP编程,头都搞大了,找了不少资料,也请教了不少同行,自认为下面这篇资料写的很好,所以收藏之,以供参考. 1.在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对 像ICQ一类的发送聊天消息的情况作分析,对于其他情况,你... 阅读全文

posted @ 2008-12-19 21:39 chen eric 阅读(3706) 评论(0) 推荐(0) 编辑

摘要: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->JS实现自动排版 function ispun(c1,c2) { if ((c1 == '\xa1' && c2 == '\xa3') || (c1 == '\xa3' && c2 == '\x... 阅读全文

posted @ 2008-12-19 11:21 chen eric 阅读(1768) 评论(0) 推荐(1) 编辑