男人.No boy no cry

彪悍的人生,不需要解釋...

导航

11 2005 档案

摘要:网络基础之一OSI七层(转) 最近发现很多朋友对网络的基础知识并不是很了解,我就把我所知道的用尽量通俗的文字写出来,与大家一起探讨学习,希望大家参与、支持,谢谢。 第一篇,先说最基础的东西,就是OSI七层模型。 最初,各个厂商的设备,系统,个有个的一套,彼此之间很难互相通信,要建立一个网络,就只能选一家厂商的设备,比如说全IBM的,或全DECnet的,用一种系统,那时UNIX大行其道。后来... 阅读全文

posted @ 2005-11-29 13:32 Piccolo Goo 阅读(609) 评论(0) 推荐(0)

摘要:在主機上裝了 VNC Client 端與 Server 端間的通訊是未加密過的 你操作 Server 的過程就可能被一覽無遺 就像MSN之間的通訊一樣是公開的... 那就裝個加密 Plugin 吧 如果你裝的是 UltraVNC1.0.1版,檔案就在安裝目錄下的 plugin 目錄中 如果是其他版本請到此下載 http://msrc4plugin.home.comcast.net/index.h... 阅读全文

posted @ 2005-11-24 11:11 Piccolo Goo 阅读(1777) 评论(0) 推荐(0)

摘要:一、 策略(Strategy)模式 策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 假设现在要设计一个贩卖各类书籍的电子商务网站的购物车(Shopping Cat)系统。一个最简单的情况就是把所有货品的单价乘上数量,但是实际情况肯定比这要复杂。比如,本网站可能对所有的教材类图书实行每本一元的... 阅读全文

posted @ 2005-11-22 11:20 Piccolo Goo 阅读(259) 评论(0) 推荐(0)

摘要:一、 访问者(Visitor)模式 访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 问题提出 System.Collection命名空间下提供了大量集合操作对象。但大多数情况下处理的都是同类对象的聚集。换言之,在聚集上采取的操作都是一些针对同类型对象的同类操作。但是如果针对一个保存有不同类型对象的聚集采取某种操作该怎么办... 阅读全文

posted @ 2005-11-22 11:18 Piccolo Goo 阅读(234) 评论(0) 推荐(0)

摘要:一、 模板方法(Template Method)模式 准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模版方法模式的用意。 很多人可能没有想到,模版方法模式实际上是所有模式中最为常见的几个模式之一,而且很多人可能使用过模版方法模式而没有意识到自己已经使用了这... 阅读全文

posted @ 2005-11-22 11:18 Piccolo Goo 阅读(202) 评论(0) 推荐(0)

摘要:一、 观察者(Observer)模式 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 一个软... 阅读全文

posted @ 2005-11-22 11:16 Piccolo Goo 阅读(185) 评论(0) 推荐(0)

摘要:一、 命令(Command)模式 命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给... 阅读全文

posted @ 2005-11-22 11:15 Piccolo Goo 阅读(220) 评论(0) 推荐(0)

摘要:行为模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。 行为模式分为类的行为模式和对象的行为模式两种。 类的行为模式:类的行为模式使用继承关系在几个类之问分配行为。 对象的行为模式:对象的行为模式则使用对象的聚合来分配行为。 在后面将要介绍的行为模式包括以下几种: Chain of Resp... 阅读全文

posted @ 2005-11-22 11:13 Piccolo Goo 阅读(415) 评论(0) 推荐(0)

摘要:一、 代理(Proxy)模式 代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 代理模式的英文叫做Proxy或Surrogate,中文都可译成"代理"。所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 二、 代理的种类 如果按照使用目的来划分... 阅读全文

posted @ 2005-11-22 11:12 Piccolo Goo 阅读(254) 评论(0) 推荐(0)

摘要:Windows操作系统中的某些程序运行时不显示运行窗口,只在任务栏上显示一个图标,表示程序正在运行,用户可以通过鼠标与应用程序交互,比如金山毒霸等应用程序,我们有时也需要编制一些仅在后台运行的类似程序,为了不干扰前台程序的运行界面和不显示不必要的窗口,应使程序运行时的主窗口不可见。同时将一个图标显示在任务栏右端静态通告区中并响应用户的鼠标动作。下面介绍Visual C++开发这类程序的设计方法。 ... 阅读全文

posted @ 2005-11-17 15:48 Piccolo Goo 阅读(304) 评论(0) 推荐(0)

摘要:今天在一个Win32程序中用CSocket类定义了一个sock,之后调用Create()函数进行初始化工作 代码为: ...... CSocket sock; int m=0; m=sock.Create(); if(!m) { int error=GetLastError(); } 结果总是创建失败! 解决方案: 没有初始化winsocket 用AfxSocketInit... 阅读全文

posted @ 2005-11-16 19:57 Piccolo Goo 阅读(2493) 评论(0) 推荐(0)

摘要:用C实现的TCP socket连接/读/写操作。采用fcntl设置非阻塞式连接以实现connect超时处理;采用select方法来设置socket读写超时。此示例可被编译运行于Windows/unix系统。 源文件connector.c 原来的代码在windows下编译不通过,今天qzj问起才发现。因为加了异步的处理,没有对这部分代码进行兼容性处理。本着做学问一丝不... 阅读全文

posted @ 2005-11-16 08:51 Piccolo Goo 阅读(754) 评论(0) 推荐(0)

摘要:网络socket编程指南(1)什么是 socket? 你经常听到人们谈论着 “socket”,或许你还不知道它的确切含义。现在让我告诉你:它是使用 标准Unix 文件描述符 (file descriptor) 和其它程序通讯的方式。什么?你也许听到一些Unix高手(hacker)这样说过:“呀,Unix中的一切就是文件!”那个家伙也许正在说到一个事实:Unix 程序在执行任何形式的 I/O 的... 阅读全文

posted @ 2005-11-15 16:52 Piccolo Goo 阅读(640) 评论(0) 推荐(0)

摘要:1、介绍 当你进入UNIX的神秘世界后,立刻会发现越来越多的东西难以理解。对于大多数人来说,BSDsocket的概念就是其中一个。这是一个很短的教程来解释他们是什么、他们如何工作并给出一些简单的代码来解释如何使用他们。2、类比(什么是socket?) socket是进行程序间通讯(IPC)的BSD方法。这意味着socket用来让一个进程和其他的进程互通信息,就象我们用电话来和其他的人交流一样。... 阅读全文

posted @ 2005-11-15 16:46 Piccolo Goo 阅读(1312) 评论(0) 推荐(0)

摘要:Socket(套接字) ◆先看定义: typedef unsigned int u_int; typedef u_int SOCKET; ◆Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。 ◆Socket有五种不同的类型: 1、流式套接字(stream socket) 定义: #define S... 阅读全文

posted @ 2005-11-15 16:42 Piccolo Goo 阅读(320) 评论(0) 推荐(0)

摘要:对于许多初学者来说,网络通信程序的开发,普遍的一个现象就是觉得难以入手。许多概念,诸如:同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)等,初学者往往迷惑不清,只知其所以而不知起所以然。 同步方式指的是发送方不等接收方响应,便接着发下个数据包的通信方式;而异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。 阻塞套接字是指执行此套接字的... 阅读全文

posted @ 2005-11-15 16:41 Piccolo Goo 阅读(429) 评论(0) 推荐(0)

摘要:与socket有关的一些函数介绍 1、读取当前错误值:每次发生错误时,如果要对具体问题进行处理,那么就应该调用这个函数取得错误代码。 int WSAGetLastError(void ); #define h_errno WSAGetLastError() 错误值请自己阅读Winsock2.h。 2、将主机的unsigned long值转换为网络字节顺序(32位):为什么要这样做呢?因为不同的计算... 阅读全文

posted @ 2005-11-15 16:39 Piccolo Goo 阅读(271) 评论(0) 推荐(0)

摘要:一、初使化Winsock如果没有初使化的话,所有的Winsock函数操作都回失败(反回SOCKET_ERROR),错误代码为WSANOTINITIALISED。初使化函数:int WSAStartup(WORD 版本号,LPWSADATA pWSADATA)版本号的建立可以用用宏:MAKEWORD(x,y)WSADATA结构:{WORD 版本WORD 高版本char[] 描述char[] 系统... 阅读全文

posted @ 2005-11-15 15:34 Piccolo Goo 阅读(574) 评论(0) 推荐(0)

摘要:本文是我在进行MS-Windows、HP-Unix网络编程的实践过程中总结出来的一些经验,仅供大家参考。本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。 一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使... 阅读全文

posted @ 2005-11-15 14:44 Piccolo Goo 阅读(247) 评论(0) 推荐(0)

摘要:为了帮助大家了解端口的作用特寻问如下:1 tcpmux TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器2 compressnet Management Utility compressnet 管理实用程序3 compressnet Compression Process 压缩进程5 rje Remote Job Entry ... 阅读全文

posted @ 2005-11-15 14:12 Piccolo Goo 阅读(520) 评论(0) 推荐(0)

摘要:可以使用下面的代码获得当前分辨率(桌面大小): m_Width=GetSystemMetrics(SM_CXSCREEN); m_Height=GetSystemMetrics(SM_CYSCREEN); 然后和你设计时的大小进行比较,计算出放大或缩小的倍数。再利用SetWindowPos函数重新调整控件的大小和位置。 另外,CodeGuru... 阅读全文

posted @ 2005-11-14 10:19 Piccolo Goo 阅读(1322) 评论(0) 推荐(0)

摘要:大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢?... 阅读全文

posted @ 2005-11-11 10:20 Piccolo Goo 阅读(222) 评论(0) 推荐(0)

摘要:对内部网络机器进行远程控制最方便的方法是在路由器上做端口映射,另外也可以通过tcp反向连接来实现。这里介绍一下可以采用反向连接的一款软件UltraVNC,UltraVNC是开源作品,源代码可以到官方网站http://ultravnc.sourceforge.net或者到 VC知识库代码仓库 http://www.vckbase.com/code 下载。源代码可以用VC++来编译。 下面主要介绍... 阅读全文

posted @ 2005-11-10 16:17 Piccolo Goo 阅读(968) 评论(0) 推荐(0)

摘要:摘要 基于Java平台的企业应用可以通过Java隧道技术实现应用在因特网上部署。Java隧道技术用现有的Web Server和Servlet容器就可以建立Java消息隧道和远程方法调用。由于基于Http协议,所以Java隧道是防火墙透明的隧道。Java隧道技术对于基于Java平台的因特网企业应用是一个不错的选择。 1.引言 在以因特网为基础的企业应用中,穿越防火墙是企业应用系统必须面对的问题。... 阅读全文

posted @ 2005-11-09 16:37 Piccolo Goo 阅读(596) 评论(1) 推荐(0)

摘要:程序员可能会经常碰到这样的事情:建立一个servlet应用程序,它与公司的数据库相连接,为客户提供一种特定的服务,这个应用程序受到一个强大的验证机制保护,全世界有成千上万的客户都在使用它。现在就出现了一个问题:当应用程序处在公司的防火墙之外时,你将如何从应用程序提供用户对数据库的访问?你知道,网络管理员是不会专门为你的应用程序与数据库相连接而打开一个特殊端口的。 HTTP隧道技术... 阅读全文

posted @ 2005-11-09 14:56 Piccolo Goo 阅读(255) 评论(0) 推荐(0)

摘要:1.32位环境简介 在Dos下编汇编程序,我们可以管理系统的所有资源,我们可以改动系统中所有的内存,如自己改动内存控制块来分配内存,自己修改中断向量表来截获中断等,对其他操作也是如此,如我们对键盘端口直接操作就可以把键盘屏蔽掉,可以这样来描述Dos系统:系统只有一个特权级别,在编程上讲,任何程序和操作系统都是同级的,所以在Dos下,一个编得不好的程序会影响其他所有的程序,如一个... 阅读全文

posted @ 2005-11-09 14:02 Piccolo Goo 阅读(1702) 评论(1) 推荐(0)

摘要:char *token;CString bb="APEC 2001\n Shang Hai china";CString str[10];char seps[] = " \n";int count = bb.GetLength();token = strtok(bb.GetBuffer(count), seps);str[0].Format("%s", token);TRACE("%s"... 阅读全文

posted @ 2005-11-07 17:18 Piccolo Goo 阅读(6155) 评论(1) 推荐(0)

摘要:用InstallShield制作专业Windows安装软件 InstallShield可以说是软件安装的最好制作工具。其简单的操作、完全可视化的界面、方便的调试功能、多平台(Windows3.1, Windows95, WindowsNT3.5, Windows NT4.0 )语言(中文、各种西文)的支持使它几乎成为了安装制作的标准。难怪微软在它的拳头产品Visual C++4.X中开始,就... 阅读全文

posted @ 2005-11-01 11:35 Piccolo Goo 阅读(453) 评论(0) 推荐(0)