09 2011 档案

摘要:转自:http://www.ibm.com/developerworks/cn/opensource/os-android-devel/简介黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体,甚至可能缩小工作和娱乐之间的差别如今,很多基于网络或有网络支持的设备都运行某种 Linux 内核。这是一种可靠的平台:可经济有效地进行部署和提供支持,并且可直接作 阅读全文
posted @ 2011-09-30 19:05 hnrainll 阅读(508) 评论(0) 推荐(0)
摘要:<stdio.h>中定义了perror(),perror是在标准输出上输出msg字符串,然后再后面加上:错误语段(这个错误语段对应这时的errno) <string.h>中定义了strerror(),strerror是把一个错误numb作为参数,然后返回错误numb所对应的错误语段,一般用errno。#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <string.h>#include <errno.h>int main(in 阅读全文
posted @ 2011-09-30 13:33 hnrainll 阅读(2347) 评论(0) 推荐(0)
摘要:转自:http://hi.baidu.com/clebean/blog/item/cdab34da86055ed7b7fd482d.html 仅供参考!在开始之前有必要再讨论一下J2ME,J2SE,J2EE这些概念。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2SE,Java 2 Platform,Standard Edition,我们通常所说的JDK(Java Development Kit)包含在此,是J2EE的基础。J2EE,Java 2 Platform,Enterprise Edition, 阅读全文
posted @ 2011-09-30 07:07 hnrainll 阅读(4656) 评论(0) 推荐(0)
摘要:每隔一段时间,就会收到些类似的消息:怎么学好软件开发? 我已经学完了A,我接下来该学B还是C?其实这样的问题,真的是一言难复。如何学习,是一个很复杂的话题,尤其是眼下业内的技术名词日新月异,乱花迷人眼,使得新人更加看不清。所以才激发了我关于“技术族谱”的设想,本意就是想通过一个机制来理顺知识之间的关系,分享每个人的学习经验,新人借鉴老人的学习路径,从而减少走弯路的现象。记得2007年的时候,一次团队内部开总结会,我在白板上随手画过一个开发相关知识的结构图,当时还有团队成员拿相机拍下来,现在想想,也许对某些人有一定的指导意义,于是今天整理了一下发出来,如下图所示: 一些相关的解释:学校里的课程没 阅读全文
posted @ 2011-09-30 07:00 hnrainll 阅读(733) 评论(0) 推荐(0)
摘要:从网上发现这篇文章,发现和我写的一篇关于《知识体系》的文章互相呼应,就转过来了。转自:http://tieba.baidu.com/f?kz=692446591怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of. 阅读全文
posted @ 2011-09-30 06:56 hnrainll 阅读(753) 评论(0) 推荐(0)
摘要:Linux是一个可靠性非常高的操作系统,但是所有用过Linux的朋友都会感觉到,Linux和Windows这样的"傻瓜"操作系统(这里丝毫没有贬低Windows的意思,相反这应该是Windows的优点)相比,后者无疑在易操作性上更胜一筹。但是为什么又有那么多的爱好者钟情于Linux呢,当然自由是最吸引人的一点,另外Linux强大的功能也是一个非常重要的原因,尤其是Linux强大的网络功能更是引人注目。放眼今天的WAP业务、银行网络业务和曾经红透半边天的电子商务,都越来越倚重基于Linux的解决方案。因此Linux网络编程是非常重要的,而且当我们一接触到Linux网络编程,我 阅读全文
posted @ 2011-09-29 20:55 hnrainll 阅读(486) 评论(0) 推荐(0)
摘要:/**************************************************************************** program: proxyd module: proxyd.c summary: provides proxy tcp service for a host on an isolated network. programmer: Carl Harris (ceharris@vt.edu) date: 22 Feb 94 description: ... 阅读全文
posted @ 2011-09-29 20:21 hnrainll 阅读(363) 评论(0) 推荐(0)
摘要:日前,全球最大的中文搜索引擎百度正式推出新的首页,这是80%中国网民的“互联网入口”近10年来的第一次,并成为一个开放的互联网平台。对近5亿的中国网民来说,相比门户网站、微博和社交网络,搜索引擎的互联网入口角色更典型。对从事互联网服务和内容的大大小小的开发者而言,拥有巨量用户数的百度一旦开放,无疑是一个巨大的平台。 从2009年百度提出“框计算”概念,包含了为其他开发者提供平台的思想萌芽,到现在终于扛起互联网开放大旗,其间,开放平台的魅力其实已经在 苹果手机所引领的移动互联网上显现。业内人士认为,百度的开放可能会更加深刻影响中文互联网世界。对此,百度创始人兼首席执行官李彦宏接受了本报记... 阅读全文
posted @ 2011-09-29 11:23 hnrainll 阅读(248) 评论(1) 推荐(0)
摘要:新闻来源:solidot 由Linux基金会主管、英特尔和三星支持的新移动/设备操作系统泰泽(Tizen)正式宣告成立。 泰泽是基于Linux的开源软件平台,可运行在智能手机、平板、上网本、车载信息系统和智能电视上。它将由一个技术指导委员会管理,成员包括了英特尔和三星。泰泽的应用程序接口是基于HTML5和其它web开放标准。除了HTML5应用程序外,泰泽的SDK将包括原生开发工具包。从核心系统到核心应用,泰泽的整个软件堆栈都会对外开放。泰泽的首个版本和SDK将在2012年第一季度发布。 阅读全文
posted @ 2011-09-28 19:02 hnrainll 阅读(405) 评论(0) 推荐(0)
摘要:/***************SimpelSniffer.c*************///auther:duanjigang@2006s//add by wenhao#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <sys/types.h>#i 阅读全文
posted @ 2011-09-27 13:13 hnrainll 阅读(581) 评论(0) 推荐(0)
摘要:前几天看了看<<TCP/IP>>第一卷,为了加深理解,便写了几个简单的程序,最近好忙,但是又怕忘记前面所学的知识,就粗糙的整理了一下,贴出来,希望能给初学者以指导,同时借助CU的论坛做个备份,呵呵.内容安排:1.原始套接字介绍1.1 原始套接字工作原理与规则1.2 简单应用2 FTP密码窃取器实现(简单的rootkit)2.1 设计思路2.2 实现2.3 不足与改进之处开始,嗯,喝口茶水先...........1.原始套接字(raw socket)1.1 原始套接字工作原理与规则 原始套接字是一个特殊的套接字类型,它的创建方式跟TCP/UDP创建方法几乎是一摸一样,例如 阅读全文
posted @ 2011-09-27 13:10 hnrainll 阅读(867) 评论(0) 推荐(0)
摘要:问HelloWorld问题的人实在是太多了,而且经常都以“问一个最简单的问题”开头。其实回想一下,自己也是从这个阶段过来的,说一句“你好”,真的是一个最简单的问题吗?...//think 好了,言归正传,let's say "HelloWorld!" in java... 首先,我们要假设一下我们的平台是Windows+JDK(Linux环境下也差不多)。这个环境是相当普遍、基础和入门的。确定已经正确安装JDK了,下一步是小心翼翼地敲入某本教程上的HelloWorld源码,存盘,然后编译,javac ...问题来了: * 错误1: 'javac' 不 阅读全文
posted @ 2011-09-24 15:00 hnrainll 阅读(599) 评论(0) 推荐(0)
摘要:Most people always have the following problem when run their java programs under linux box:Exception in thread "main" java.lang.NoClassDefFoundError: *.javaEven though these programs really have no problem at all.Here are some solutions for you:1) Check your syntax that you are trying to r 阅读全文
posted @ 2011-09-23 18:37 hnrainll 阅读(477) 评论(0) 推荐(0)
摘要:目标、心态、行为、认知决定着一个人工作的深度与高度。创业,很火爆的一个词。互联网崛起的许多神话,晕眩了多少希望摆脱拮据生活,又不愿意细水长流般坚守的年轻人。每听说朋友想创业,我都会像往来人问一句,你们是因为满腔热情、认定一样事情,而去创业,还是因为不满意目前的生活状态,便考虑换一种模式? 这个问题其实也是在问我自己。对我来说,两者不一样。前者 是主动去创造;后者是懦弱地逃避。 应届毕业生,也有一批人,憧憬着到创业型的公司里拼搏一番。一番厮杀下来,折戟沉沙,捶胸顿足,说自己没有遇到好老板,没有得到应有的报酬,忍受不了公司的低效管理,感觉自己在这里虚度光阴,计划另谋高就。 前些天朋友的微博写道:. 阅读全文
posted @ 2011-09-23 13:22 hnrainll 阅读(280) 评论(0) 推荐(0)
摘要:http://www.chinaunix.net 作者:cgweb发表于:2006-08-22 01:14:11【发表评论】 【查看原文】 【Linux讨论区】【关闭】关于LAN上有两个相同MAC地址的问题目的:验证发往目的IP的数据包是通过目的MAC来传递linuxserver的MAC是aa:aa:aa:aa:aa:aawindows98的MAC是BB:BB:BB:BB:BB:BBwindos2000的MAC是cc:cc:cc:cc:cc:cc将linuxMAC改为与win98的MAC相同,那么LAN上有两个相同的MACBB:BB:BB:BB:BB:BB此时win2000还能正常和linux 阅读全文
posted @ 2011-09-22 14:10 hnrainll 阅读(2437) 评论(0) 推荐(0)
摘要:linux下可以用libpcap函数库实现监听数据包,使用libnet 函数库发送数据包安装:在命令行下apt-get install 就可以了libpcap的使用:/*author hjjdate 2011-1-21function:capture packet with the ruler and output the packet informationmodify 2011-1-23function:get dns packet*/#include<stdio.h>#include<sys/socket.h>#include<sys/types.h> 阅读全文
posted @ 2011-09-22 11:46 hnrainll 阅读(9175) 评论(0) 推荐(1)
摘要:/************************************author hjjdate 2011-1-20function: send an arp packet to all machine on local netmodify: wenhaogcc arp.c -o arp -Wall -lnet**************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#in 阅读全文
posted @ 2011-09-22 11:13 hnrainll 阅读(1095) 评论(0) 推荐(1)
摘要:2.2 快重传和快恢复 如果发送方设置的超时计时器时限已到但还没有收到确认,那么很可能是网络出现了拥塞,致使报文段在网络中的某处被丢弃。这时,TCP马上把拥塞窗口 cwnd 减小到1,并执行慢开始算法,同时把慢开始门限值ssthresh减半。这是不使用快重传的情况。 快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时才进行捎带确认。接收方收到了M1和M2后都分别发出了确认。现在假定接收方没有收到M3但接着收到了M4。显然,接收方不能确认M4,因为M4是收到的失序报文段。根据可靠传输原理,接收方可以什么都不做, 阅读全文
posted @ 2011-09-21 15:18 hnrainll 阅读(575) 评论(0) 推荐(0)
摘要:TCP的流量控制1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。 设A向B发送数据。在连接建立时,B告诉了A:“我的接收窗口是 rwnd = 400 ”(这里的 rwnd 表示 receiver window) 。因此,发送方的发送窗口不能超过接收方给出的接收窗口的数值。请注意,TCP的窗口单位是字节,不是报文段。TCP连接建立时的窗口协商过程在图中没有显示出来。再设每一个报文段为100字节长,而数据报文 阅读全文
posted @ 2011-09-21 15:16 hnrainll 阅读(848) 评论(0) 推荐(0)
摘要:libnet介绍与分析当前,基于socket的网络编程已成为当今不可替代的编程方法,它将网络通讯当作文件描述符进行处理,把对这个“网络文件”(即socket套接字)的操作抽象成一种类似于文件操作的方式进行。从实现细节上,这种工作方式根据TCP/IP的网络通讯模型,封装了一系列的实现,使得我们只需要使用一个指定的参数,就可以实现在基于所需协议的数据的发送和接收。但是,如果我们对那些系统自动给我们做的工作感兴趣,希望与发送的数据作“面对面”的接触,libnet则会是一个不错的选择。libnet是UNIX系统同台上网络安全工具开发的重要的库,它和libpcap、libnids一起,给网络安全工具的开 阅读全文
posted @ 2011-09-21 14:05 hnrainll 阅读(10181) 评论(1) 推荐(1)
摘要:号称网络硬件三剑客的集线器(Hub)、交换机(Switch)与路由器(Router)一直都是网络界的活跃分子,但让很多初入网络之门的菜鸟恼火的是,它们三者不仅外观相似,而且经常呆在一起,要想分清谁是谁,感觉有点难!就让我们一起来看看它们之间有什么区别和联系吧!三剑客的工作原理一、集线器1.什么是集线器在认识集线器之前,必须先了解一下中继器。在我们接触到的网络中,最简单的就是两台电脑通过两块网卡构成“双机互连”,两块网卡之间一般是由非屏蔽双绞线来充当信号线的。由于双绞线在传输信号时信号功率会逐渐衰减,当信号衰减到一定程度时将造成信号失真,因此在保证信号质量的前提下,双绞线的最大传输距离为100米 阅读全文
posted @ 2011-09-21 11:52 hnrainll 阅读(7272) 评论(0) 推荐(0)
摘要:Linux下Sniffer程序的实现http://www.nsfocus.net/index.php?act=magazine&do=view&mid=1797 阅读全文
posted @ 2011-09-21 10:25 hnrainll 阅读(415) 评论(0) 推荐(1)
摘要:大多数程序员所接触到的套接字(Socket)为两类: (1)流式套接字(SOCK_STREAM):一种面向连接的Socket,针对于面向连接的TCP服务应用; (2)数据报式套接字(SOCK_DGRAM):一种无连接的Socket,对应于无连接的UDP服务应用。 从用户的角度来看,SOCK_STREAM、SOCK_DGRAM这两类套接字似乎的确涵盖了TCP/IP应用的全部,因为基于TCP/IP的应用,从协议栈的层次上讲,在传输层的确只可能建立于TCP或UDP协议之上(图1),而SOCK_STREAM、SOCK_DGRAM又分别对应于TCP和UDP,所以几乎所有的应用都可以用这两类套接字实... 阅读全文
posted @ 2011-09-21 09:26 hnrainll 阅读(480) 评论(0) 推荐(0)
摘要:“计算机编程中极少人是真正的艺术家,大多数人充其量不过是房屋粉刷匠而已。”———Tim Bryce 管理顾问 Tim Bryce 不喜欢程序员,而许多程序员也不喜欢他。(注:Tim Bryce 发布过一篇名为《P理论:管理程序员的哲学》的文章。)Bryce对程序员的看法:程序员都是故弄玄虚,妄自尊大的家伙。与其它大学程度的工作者相比,普通程序员的智商要低。程序员总显得邋里邋遢,精神涣散。程序员做事杂乱无章,因此很难评估他们工作的进度,其技术也尽显不足之处。程序员的典型表现是常常埋怨自己工作过量,薪酬过低,所受的重视过少。程序员自诩对科技发展怀有无比的好奇心。 然而,好奇心是需要通过管理慎重培养 阅读全文
posted @ 2011-09-21 06:54 hnrainll 阅读(639) 评论(0) 推荐(0)
摘要:SOCKET_STREAM 流式套接字SOCKET_DGRAMSOCKET_RAW 原始套接字IPPROTO_IP IP协议IPPROTO_ICMP INTERNET控制消息协议,配合原始套接字可以实现ping的功能IPPROTO_IGMP INTERNET 网关服务协议,在多播中用到在AF_INET地址族下,有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW三种套接字类型。SOCK_STREAM也就是通常所说的TCP,而SOCK_DGRAM则是通常所说的UDP,而SOCK_RAW则是用于提供一些较低级的控制的;第3个参数依赖于第2个参数,用于指定套接字所用的特定协议,设为0表示 阅读全文
posted @ 2011-09-20 14:14 hnrainll 阅读(17692) 评论(2) 推荐(2)
摘要:gethostbyname和gethostbyaddr这两个函数仅仅支持 IPv4,getaddrinfo函数能够处理名字到地址以及服务到端口这两种转换,返回的是一个sockaddr结构的链表而不是一个地址清单。这些 sockaddr结构随后可由套接口函数直接使用。如此以来,getaddrinfo函数把协议相关性安全隐藏在这个库函数内部。应用程序只要处理由 getaddrinfo函数填写的套接口地址结构。该函数在 POSIX规范中定义了。#include<netdb.h>int getaddrinfo( const char *hostname, const char *servi 阅读全文
posted @ 2011-09-20 12:24 hnrainll 阅读(427) 评论(0) 推荐(0)
摘要:通过昨天的资料搜集、对比、安装、阅读文档和使用,对git有了初步的了解!这些内容在我的上一篇文章中都有,就不在赘述了!今天老大让我结合我们的项目和使用细节写一个文档给实验室的同学。一直工作在linux下,就把文档先写在我的blog里吧!Git安装以及使用Git 管理个人文档1.1 Git 安装Git的最新版本可以在http://git-scm.com/下载,它是基于命令行操作的,网上也有第三方开发的相应GUI可供下载,因为我比较喜欢命令行操作,所以没有对GUi下载和安装,有兴趣的同学可以自己试试。网上也有相应的文章和资料可供参考!安装之前首先确保相应的依赖包已经安装,主要有以下几个:zlibl 阅读全文
posted @ 2011-09-20 10:38 hnrainll 阅读(309) 评论(0) 推荐(0)
摘要:在多任务操作系统环境中,如果一个进程尝试对正在被其他进程读取的文件进行写操作,可能会导致正在进行读操作的进程读取到一些被破坏或者不完整的数据;如果两个进程并发对同一个文件进行写操作,可能会导致该文件遭到破坏。因此,为了避免发生这种问题,必须要采用某种机制来解决多个进程并发访问同一个文件时所面临的同步问题,由此而产生了文件加锁方面的技术。早期的 UNIX 系统只支持对整个文件进行加锁,因此无法运行数据库之类的程序,因为此类程序需要实现记录级的加锁。在 System V Release 3 中,通过 fcntl 提供了记录级的加锁,此后发展成为 POSIX 标准的一部分。本文将基于 2.6.23 阅读全文
posted @ 2011-09-20 09:59 hnrainll 阅读(801) 评论(0) 推荐(0)
摘要:MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32 位的,而MAC地址则是48位的。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08: 00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协 会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。只要你不去更改自己的MAC地址,那么你的MAC地 址在世界是惟一的。MA 阅读全文
posted @ 2011-09-19 18:45 hnrainll 阅读(4576) 评论(0) 推荐(0)
摘要:在计算机科学中,UDP打洞指的是一种普遍使用的NAT穿越技术。[编辑]描述通过UDP打洞实现NAT穿越是一种在处于使用了NAT的私有网络中的Internet主机之间建立双向UDP连接的方法。由于NAT的行为是非标准化的,因此它并不能应用于所有类型的NAT。其基本思想是这样的:让位于NAT后的两台主机都与处于公共地址空间的、众所周知的第三台服务器相连,然后,一旦NAT设备建立好UDP状态信息就转为直接通信,并寄希望于NAT设备会在分组其实是从另外一个主机传送过来的情况下仍然保持当前状态。这项技术需要一个完全圆锥型NAT设备才能够正常工作。受限圆锥型NAT和对称型NAT都不能使用这项技术。这项技术 阅读全文
posted @ 2011-09-19 16:59 hnrainll 阅读(1345) 评论(0) 推荐(0)
摘要:一、登陆。不管UDP还是TCP,最终登陆成功之后,QQ都会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登陆的时候,端口是8000。因此,假如你所在的网络开放了80端口(80端口是最常用端口。。就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功QQ的。二、聊天消息通信。采用UDP协议,通过服务器中转方式。因此,现在的IP侦探在你仅仅跟对方发送聊天消息的时候是无法获取到IP的。大家都知道,UDP协议是不可靠协议,它只管发送,不管对方是否收到的,但它的传输很高效。但是,作为聊天软件,怎么可 阅读全文
posted @ 2011-09-19 16:55 hnrainll 阅读(20977) 评论(1) 推荐(2)
摘要:Apache是一个web服务器环境程序,可以作为web服务器使用。不过只支持静态网页,如(asp,php,cgi,jsp)等动态网页的就显得无能为力。 引用如果要在Apache环境下运行jsp 的话就需要一个解释器来执行jsp网页,而这个jsp解释器就是Tomcat, 为什么还要JDK呢?因为jsp需要连接数据库的话,就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要Apache+tomcat+JDK。不过作者认为:最好不要在JSP页面中有访问数据库的代码。JSP的功能只是负责显示。需要JDK的另一个原因是Tomcat是用JAVA语言实现的。如果想让服务器也能处理动态页 阅读全文
posted @ 2011-09-19 10:06 hnrainll 阅读(922) 评论(1) 推荐(0)
摘要:一、HTTP协议定义URL的组成例如:http://www.alimama.com/membersvc/index.htm。它的含义如下:http://:代表超文本传输协议,通知baidu.com服务器显示Web页,通常不用输入;www:代表一个Web(万维网)服务器;alimama.com/:这是装有网页的服务器的域名,或站点服务器的名称;membersvc/:为该服务器上的子目录,就好像我们的文件夹;index.htm:index.htm是文件夹中的一个HTML文件(网页)。HTTP 协议的基本特点:支持客户 / 服务器模式。简单快速 : 客户向服务器请求服务时 , 只需传送请求方法和路径 阅读全文
posted @ 2011-09-19 09:40 hnrainll 阅读(5340) 评论(0) 推荐(2)
摘要:首先来说一个高级程序员并非靠自己读几本书写几万行代码就能练就的,我更关注于低层的环境,也就是程序员实实在在的工作环境。因为程序员的高低还得从实际的工作来衡量,而非其它。所以我想说的是,中国的软件公司的性质直接导致程序员的水平的高低。而我所说的软件公司,不是指某个或者某几个,而是指主流的软件公司,大众型的软件公司。所以我希望那些已经步入一个理想的公司的程序员理解我这篇文章的定位。软件公司的无偿加班对程序员的影响: 国内的软件公司中程序员是常常加班的,每日加,周未也常加。基于这种性质,出现了一种很莫名其妙的现象:每天程序员的实际下班时间总是要晚于规定下班时间,至于晚一个小时还是两个小时还是更多这就 阅读全文
posted @ 2011-09-17 18:31 hnrainll 阅读(443) 评论(0) 推荐(0)
摘要:fopen /open区别UNIX环境下的C对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别。1. fopen系列是标准的C库函数;open系列是POSIX定义的,是UNIX系统里的system call。也就是说,fopen系列更具有可移植性;而open系列只能用在POSIX的操作系统上。2.使用fopen系列函数时要定义一个指代文件的对象,被称为“文件句柄”(file handler),是一个结构体;而open系列使用的是一个被称为“文件描述符”(file descriptor)的int型整 阅读全文
posted @ 2011-09-16 14:19 hnrainll 阅读(1598) 评论(0) 推荐(0)
摘要:int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下: O_RDONLY 1 只读打开 O_WRONLY 2 只写打开 O_RDWR 4 读写打开 还可选择以下模式与以上3种基本模式相与: O_CREAT 0x0100 创建一个文件并打开 O_TRUNC 0x0200 打开一个已存在的文件并将文件长度设置为0,其他属性保持 O_EXCL 0x0400 未使用 O_APPEND 0x0800 追加打开文件 O_TEXT 0x4000 打开文本文件翻译CR-LF控制字符 O_BIN 阅读全文
posted @ 2011-09-16 14:14 hnrainll 阅读(35611) 评论(1) 推荐(2)
摘要:open和fopen的区别:主要区别是涉及到系统,而不是缓冲。带f的是标准IO,代码可以移植。不带f只能在UNIX/LINUX系统调用。 open一个是整数,fopen一个是指针(FILE *)。 二者区别大致可以总结为以下几点:1,fread是带缓冲的,read不带缓冲.2,fopen是标准c里定义的,open是POSIX中定义的.3,fread可以读一个结构.read在linux/unix中读二进制与普通文件没有区别.4,fopen不能指定要创建文件的权限.open可以指定权限.5,fopen返回指针,open返回文件描述符(整数).6,linux/unix中任何设备都是文件,都可以用op 阅读全文
posted @ 2011-09-16 14:08 hnrainll 阅读(1084) 评论(0) 推荐(0)
摘要:http://bbs.chinaunix.net/thread-41603-1-1.html这里说的比较好. 阅读全文
posted @ 2011-09-15 17:57 hnrainll 阅读(260) 评论(0) 推荐(0)
摘要:你热爱你现在的职业么?你觉得你现在的工作让你很快乐充实么?据美国《福布斯》杂志12日报道,近日,一项由美国芝加哥大学国家研究组织进行的综合社会调查,公布了“十大最幸福工作”排行榜和“十大最痛苦工作”排行榜。让人吃惊的是,牧师、消防员和教师等成为最让人幸福的工作,而IT主管、法律职员和销售经理成了最让人痛苦的职业。十大最幸福工作 1、神职人员 幸福理由:几乎全世界所有牧师僧侣,都认为自己是最快乐的。 2、消防员 幸福理由:80%的消防员对自己的工作感到“非常满意”,因为可以帮到别人。 3、理疗师 幸福理由:既可以参加社会交流,又能帮助其他人。 4、作家 幸福理由:报酬有时很低,但书写内容让人有幸 阅读全文
posted @ 2011-09-15 13:57 hnrainll 阅读(310) 评论(0) 推荐(0)
摘要:getopt_long支持长选项的命令行解析,使用man getopt_long,得到其声明如下: #include <getopt.h> int getopt_long(int argc, char * const argv[], const char *optstring, const struct option *longopts, int *longindex); int getopt_long_only(int argc, char * const argv[], const char *optstring, const struct option *longopts, 阅读全文
posted @ 2011-09-15 09:05 hnrainll 阅读(6424) 评论(0) 推荐(0)
摘要:1.文件类型输入输出操作的对象为外部的硬件设备、内存、硬盘上面的文件等等,linux系统将这些输入输出操作的对象都抽象成文件的概念例如外部的硬件设备对应硬盘上的一个设备文件,所以真正输入输出操作的对象就是文件。linux(和UNIX)的文件类型:(1)普通文件:一些常规文件、可执行程序和任何其它你想要的东西。(2)目录(3)符号链接文件:文件中的内容是所指向的文件全路径,不包括字符串结束字符’\0’。下面的两种文件类型是设备文件类型,对于外部的硬件设备或虚拟的软件设备,都抽象成一个个文件。设备文件有两种:(4)字符设备文件:例如像终端,有一些字符设备可以绕过内核缓冲区,在一次I/O操作中输入输 阅读全文
posted @ 2011-09-14 17:00 hnrainll 阅读(4000) 评论(0) 推荐(0)
摘要:“Bug”一词,是指“故障”、“缺陷”。了解软件开发的朋友都非常熟悉,程序员和测试人员更不用说,在工作中会常遇到。9月9日下午在微博上看到@新浪科技发了一条微博消息:#历史上的今天#1945年的今天,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上(见 图),写道:就是这个 bug(虫子),害我们今天的工作无法完成——于是,bug一词成了电脑系统程序的专业术语,形容那些系统中的缺陷或问题。 (图1) (注1:微博消息是摘自一位新浪博主的博文,点击进入查看后,可知那位博主也是从网络转载。) 好奇使然,于是在Google查找信息,摘录并... 阅读全文
posted @ 2011-09-11 08:58 hnrainll 阅读(1617) 评论(0) 推荐(0)
摘要:gcc这个大名鼎鼎的编译器软件,如果你用UNIX类系统,当然包括Linux,一定要知道。gcc - GNU project C and C++ compiler1、基本用法一般用作C语言编译器时是gcc,而用作C++语言编译器时是g++。其语法结构为: gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Umacro]... 阅读全文
posted @ 2011-09-09 06:35 hnrainll 阅读(3192) 评论(1) 推荐(0)
摘要:当您经常使用某个系统时,往往会陷入某种固定的使用模式。有时,您没有养成以尽可能最好的方式做事的习惯。有时,您的不良习惯甚至会导致出现混乱。纠正此类缺点的最佳方法之一,就是有意识地采用抵制这些坏习惯的好习惯。本文提出了 10 个值得采用的 UNIX 命令行习惯——帮助您克服许多常见使用怪癖,并在该过程中提高命令行工作效率的好习惯。下面列出了这 10 个好习惯,之后对进行了更详细的描述。采用 10 个好习惯要采用的十个好习惯为: 在单个命令中创建目录树。更改路径;不要移动存档。将命令与控制操作符组合使用。谨慎引用变量。使用转义序列来管理较长的输入。在列表中对命令分组。在 find 之外使用 xar 阅读全文
posted @ 2011-09-09 06:28 hnrainll 阅读(549) 评论(1) 推荐(1)
摘要:如果你觉得自己不好,你就没有好的机会 今天我特别荣幸,也特别感动。我坐在上面思考,尽管我和大家一样,第一天新生开学,老师讲的,书记讲的,校长讲的,前面的所有学生讲的,我们听 听热闹,相信的只能(有)10%(听到这句话,所有学生都笑了)。所有的年轻人都会这么想,(但)走过以后,你回过来看,这些是对的。 有的时候,人生就是去犯错误,就是去尝试,如果大家没有去尝试过,你永远觉得这是聒噪。刚才我们俞师姐讲的话,我最有感触。她讲了很多我们过去做的,我一会儿想和大家分享我们未来应该做什么。 我觉得你们特别有眼光,刚刚老师说了,杭师大是一个魅力很强的学校,具备未来的战略眼光。它主要来自于我们有这么多有... 阅读全文
posted @ 2011-09-08 14:03 hnrainll 阅读(446) 评论(0) 推荐(0)
摘要:前序:... 1一、 版本... 1二、 基本编译... 2三、 SQLITE操作入门... 2(1) 基本流程... 2(2) SQL语句操作... 4(3) 操作二进制... 8(4) 事务处理... 10四、 给数据库加密... 10五、 后记... 25 前序:Sqlite3 的确很好用。小 阅读全文
posted @ 2011-09-08 08:55 hnrainll 阅读(28799) 评论(1) 推荐(7)
摘要:1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API. SQLite3是为了满足以下的需求而开发的: 支持UTF-16编码. 用户自定义的文本排序方法. 可以对BLOBs字段建立索引. 因 阅读全文
posted @ 2011-09-08 08:53 hnrainll 阅读(3164) 评论(0) 推荐(1)
摘要:SQLite是一款开源嵌入式文件型数据库,这个主要是和其他一些C/S架构的关系型数据库比较而来的,比如MySQL等。 说他是嵌入式,因为SQLite的所有功能全部包装在一个dll中,我们只需要使用其中的导出接口就可以操作SQLite数据库,这样使得数据存储功能能够很方便的集成进用户的程序中,并运行在 阅读全文
posted @ 2011-09-08 08:47 hnrainll 阅读(3513) 评论(0) 推荐(0)
摘要:C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理(创建数据库、创建表格、插入数据、查询、数据、删除数据等)。首先要编译好sqlite的库文件 : libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3. 阅读全文
posted @ 2011-09-08 08:46 hnrainll 阅读(9444) 评论(0) 推荐(1)
摘要:最近在Linux下用到数据库sqlite3,于是开始了该方面的学习。 0. 引言 我们这篇文章主要讲述了如何在C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理, 包括创建数据库、创建表格、插入数据、查询数据、删除数据等。 1. 说明 这里我们假设你已经编译好了sqlite的库文件 阅读全文
posted @ 2011-09-08 08:43 hnrainll 阅读(18869) 评论(0) 推荐(1)
摘要:很长时间以来,routed一直是标准的UNIX路由守护进程,现在大多数版本的UNIX和Linux仍然提供了routed。 Linux的routed只用RIP。如果您打算使用RIP-2,那么从sourceforge.net/projects/nx-routed下载的Nexus Routing Daemon是个容易配置的选择。只有您的子网没有按字节边界掩码的情况下,才会非要用RIP-2不可。 routed 既能够在服务器模式(-s)下运行,也能够在沉默模式(-q)下运行。两种模式都监听广播,但只有服务器模式发布它自己的信息。通常,只有那些具有多个接口的机器才应该是服务器。如果既没有指明-s,也.. 阅读全文
posted @ 2011-09-07 11:33 hnrainll 阅读(2274) 评论(0) 推荐(0)
摘要:下面一个例子简单的描述了xinet编程的步骤:1. 我写了一个小程序:/***** tcpgoodie.c**/#include <stdio.h>#include <stdlib.h>#include <unistd.h>main(void){printf("Welcome to goodie service!");}2. 编译gcc -o tcpgoodie tcpgoodie.c3. 修改了 /etc/services我增加了一行:tcpgoodie20001/tcp#目的是分配20001端口给tcpgoodie,这个端口和别的端口 阅读全文
posted @ 2011-09-06 16:15 hnrainll 阅读(412) 评论(0) 推荐(0)
摘要:摘自http://hi.baidu.com/xu_zhisheng/blog/item/390c090e09ecda236059f304.html这里面的三个函数openlog, syslog, closelog是一套系统日志写入接口。另外那个vsyslog和syslog功能一样,只是参数格式不同。原理:通常,syslog守护进程读取三种格式的记录消息。此守护进程在启动时读一个配置文件。一般来说,其文件名为/etc/syslog.conf(注释:ifyou want to redirectlogto other place,you need to change this),该文件决定了不同种类 阅读全文
posted @ 2011-09-06 15:21 hnrainll 阅读(6565) 评论(0) 推荐(0)
摘要:守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d就是Daemon的意思)。 一般情况下守护进程可以通过以下几种方式产生:1,在系统启动的时候由启动脚本启动,这些启动脚本通常放在/etc/rc.d目录下2,利用inetd超级系统服务器启动,如telnet等3,由cro 阅读全文
posted @ 2011-09-06 15:20 hnrainll 阅读(3037) 评论(0) 推荐(0)
摘要:acpidacpid(Advanced Configuration and Power Interface)是为替代传统的APM电源管理标准而推出的新型电源管理标准。通常笔记本电脑需要启动电源进行管理。alsasoundAlsa声卡驱动守护程序。Alsa声卡驱动程序本来是为了 一种声卡Gravis UltraSound(GUS)而写的,该程序被证 明很优秀,于是作者就开始为一般的声卡写 驱动程序。 Alsa和OSS/Free 及OSS/Linux兼容,但是有自己的接 口,甚至比OSS优秀。amd自动安装NFS守护进程。anacron一个自动化运行任务守护进程。Red Hat Linux 随带四 阅读全文
posted @ 2011-09-06 15:17 hnrainll 阅读(6364) 评论(0) 推荐(0)
摘要:Daemon程序简介 Daemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的用户交互。Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。 比如,我们的网络服务程序,可以在完成创建套接口,绑定套接口,设置套接口为监听模式后,变成守护进程进入后台执行而不占用控制终端,这是网络服务程序的常用模式。UNIX下的网络服务程序,如Web Server,FTP,Telnet一般都是由守护进程(Daemon)来实现的。守护进程不占用终端,在后台运行。UNIX的守. 阅读全文
posted @ 2011-09-06 14:45 hnrainll 阅读(1747) 评论(0) 推荐(0)
摘要:#include <stdio.h>#include <stdlib.h>#include <syslog.h>#include <fcntl.h>int main(void){ int fd; char filename[] = "/root/wenhao"; /* file is not exist */ if ((fd = open(filename, O_RDONLY)) == -1) { syslog(LOG_ERR | LOG_LOCAL0, "open %s: %m\n", filename) 阅读全文
posted @ 2011-09-06 14:15 hnrainll 阅读(1080) 评论(0) 推荐(0)
摘要:Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。Linux的man手册共有以下几个章节:代號代表內容1使用者在shell中可以操作的指令或可执行档2系統核心可呼叫的函数与工具等3一些常用的函数(function)与函数库(library),大部分是C的函数库(libc)4装置档案的说明,通常在/dev下的档案5设定档或者是某些档案的格式6游戏(games)7惯例与协定等,例如Linux档案系统、网络协定、ASCII code等等的說明8系統管理員可用的管理指令9跟kernel有关的文件如:man 5 data1 Executable progr 阅读全文
posted @ 2011-09-06 12:40 hnrainll 阅读(109685) 评论(1) 推荐(5)
摘要:乔布斯最天才的地方在于他对创作过程的管理,最近《新闻周刊》旗下的《每日野兽(The Daily Beast)》整理出了一张很有意思的信息图,从10个方面体现出了乔布斯的管理绝招。当然,笔者觉得这些管理方法并不一定适用于每一名领导,大家可以有 选择性的学习。追求完美(Go for perfect) 乔布斯十分注重细节,在首款 iPod 发布前夜,苹果的员工熬了一整夜更换耳机街头,因为乔布斯觉得插进去的响声不够给力。器重专家(Tap the experts) 乔布斯聘请了架构设计师 I.M.Pei 专门设计 Next 的 Logo,并且在苹果的零售链发布之前将 Gap 的 Micey Drexle 阅读全文
posted @ 2011-09-06 06:58 hnrainll 阅读(548) 评论(0) 推荐(0)
摘要:所谓,时间就是金钱,效率也意味着时间。高效的工作方式可以为我们赢得更多成功的机遇。如何实现高效工作呢?Zielix创始人、Ingiter Frameworks的创建者Wayne Harrel发表了一篇博文《Top 10 ways to dramatically increase your personal productivity》,为我们介绍了迅速提升自我效率的十大方法。现CSDN对本文进行了编译,全文如下:每个人都渴望成功,每个人都希望一个月能赚到几百万美金。任何人都不希望遭遇失败,不希望生活标准低于他们的期望水平。为了达到这些目标,人们开始艰难地决定做什么与不做什么。本文提供了可以迅速提 阅读全文
posted @ 2011-09-03 08:22 hnrainll 阅读(338) 评论(0) 推荐(0)
摘要:导读:在当今竞争日益激烈的环境下,程序员们的工作环境与工作状态并不理想。作者Robert Diana就此话题写了一篇文章《12 Things A Programmer Really Needs To Know》,他分享了自己做程序员的12个经验心得,更好的帮助程序员认清自身环境,并更加有效的提升自身价值和解决项目开发过程中的难题。现CSDN对原文进行编译,内容如下:“怎样才能成为一名优秀的程序员呢?”我曾为此写过一篇博文,文中强调了优秀程序员应该关注的开发语言及要了解的算法和其他技能。除此之外,程序员的生活还包含哪些方面呢?下文将为你展示。1. 咖啡:你需要找到你钟爱的咖啡种类。我首选的是黑咖 阅读全文
posted @ 2011-09-03 08:22 hnrainll 阅读(292) 评论(0) 推荐(0)
摘要:1969年9月2日,在加州大学洛杉矶分校实验室,约20名研究人员完成了两台计算机之间的数据传输试验,即ARPAnet。它是国际互联网的雏形。这一天也被视为互联网的“诞生日”。产生背景在20世纪60年代,对于美国来说是一个特殊的时代。美国与原苏联间的冷战持续升温,同时核威胁也引起了美国军方的极度关注。他们担心仅有的一个集中式军事指挥中心一旦被核武器摧毁,全国的军事指挥将处于瘫痪状态,后果不堪设想,所以有必要设计一个分散的指挥系统。发展阶段1969年9月2日,由美国军方研发的“ARPAnet”首次在加州大学洛杉矶分校实现了两台计算机间的数据交换测试。1969年11月,美国国防部高级研究计划管理局( 阅读全文
posted @ 2011-09-03 08:21 hnrainll 阅读(692) 评论(0) 推荐(0)
摘要:转自:http://www.python-cn.cn/wangluobiancheng/2009/1012/16.html前言python实在是太方便,太易用了,三方库的支持又全,语法又简单,对开发人员来说,实在是居家旅行,XXXX的必备利器。周末研究了下python的网络支持,做一下记录,以备随后翻阅。python支持BSD的socket进行网络编程,其API跟C中的大同小异,先看看TCP方式的,说到网络编程,肯定会设计到server和client,分别来看下TCP方式server端server端的socket一般流程是这样:建立一个socket(可以选择socket类型INET,UNIX等 阅读全文
posted @ 2011-09-02 09:17 hnrainll 阅读(3031) 评论(0) 推荐(0)
摘要:重剑点评: 真简单明了!复习网络编程,顺便学习python。常有人询问,编程需要天赋吗?啊,任何事情走往极致,都需要天赋。任何一个软件产品的极致成功,都需要创意天赋、编程天赋、管理天赋、行销天赋……。然而,只需用心模仿,再加一点匠心独具,任何人都能够把编程路走得稳当顺遂。能读千赋则善赋,能观千剑则晓剑,巧者不过习者之门也。你把名家源码融为己用,别人也会赞叹一声“你有编程天赋”。子曾经曰过:编程无他,唯手熟尔!一、套接字套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了 阅读全文
posted @ 2011-09-02 08:52 hnrainll 阅读(1002) 评论(0) 推荐(2)
摘要:网络中的一台主机如果希望能够接收到来自网络中其它主机发往某一个组播组的数据报,那么这么主机必须先加入该组播组,然后就可以从组地址接收数据包。在广域网中,还涉及到路由器支持组播路由等,但本文希望以一个最为简单的例子解释清楚协议栈关于组播的一个最为简单明了的工作过程,甚至,我们不希望涉及到 IGMP包。 我们先从一个组播客户端的应用程序入手来解析组播的工作过程: #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <string.h> #include 阅读全文
posted @ 2011-09-02 08:11 hnrainll 阅读(2587) 评论(0) 推荐(0)
摘要:OSI/RM参考模型的提出:世界上第一个网络体系结构由IBM公司提出(74年,SNA),以后其他公司也相继提出自己的网络体系结构如:Digital公司的DNA,美国国防部的TCP/IP等,多种网络体系结构并存,其结果是若采用IBM的结构,只能选用IBM的产品,只能与同种结构的网络互联。 为了促进计算机网络的发展,国际标准化组织ISO于1977年成立了一个委员会,在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,称为开放系统互联模型(OSI参考,open system interconnection)TCP/IP开发过程:在构建了阿帕网先驱之后,DARPA开始了其他数据传. 阅读全文
posted @ 2011-09-01 20:33 hnrainll 阅读(3903) 评论(0) 推荐(0)
摘要:IBM 系统网络体系结构Systems Network Architecture(SNA),IBM 早在1974年首次公布的SNA是IBM为了连接他的3270系列产品而推出的方案。SNA包括一套联网协议。SNA这个体系结构中,包括大型计算机系统(主机)、中型机计算机系统、3270终端和台式计算机,并有一个使这些系统与主机系统通信或系统间相互对等通信的策略。 简单的历史回顾有助于我们认识到集中、分层的SNA是如何适应今天的对等通信、客户机/服务器模式的。SNA设计在与IBM主机系统相连的大多数终端是不可编程终端的年代。SNA在互连的主机之间提供了静态路由选择,所以用户在一个终端上可以访问其... 阅读全文
posted @ 2011-09-01 20:25 hnrainll 阅读(1034) 评论(0) 推荐(0)
摘要:概述目前有许多不同的成熟的TCP/IP协议的实现版本,其中大部分都在操作系统的核心实现,这种方案固然是提高TCP/IP协议软件的效率的必然所选,但却给TCP/IP协议的学习、研究和调试带来了很大的困难。于是,如果不考虑TCP/IP协议软件实现的效率问题,在应用进程中实现一个TCP/IP协议软件,是具有一定的意义和价值的。本文作者构造了一个单进程的TCP/IP协议软件:minitcpip,并提供了一个SOCKET接口函数库:minisocket。在实现这个协议软件函数库时,作者选择采用了libnet+libpcap的方式在用户态下实现这个软件,不仅是因为这样可以避开一些操作系统对底层网络开发的种 阅读全文
posted @ 2011-09-01 16:47 hnrainll 阅读(1235) 评论(0) 推荐(0)
摘要:转自:http://forum.byr.edu.cn/pc/pccon.php?id=1117&nid=28538&s=all在Unix系统平台上的网络安全工具开发中,目前最为流行的CAPIlibrary有libnet、libpcap、libnids和libicmp等。它们分别从不同层次和角度提供了不同的功能函数。使网络开发人员能够忽略网络底层细节的实现,从而专注于程序本身具体功能的设计与开发。其中,*libnet提供的接口函数主要实现和封装了数据包的构造和发送过程。*libpcap提供的接口函数主要实现和封装了与数据包截获有关的过程。*libnids提供的接口函数主要实现了开 阅读全文
posted @ 2011-09-01 16:35 hnrainll 阅读(3645) 评论(0) 推荐(0)
摘要:1IP地址分类 A类网络地址有128个(支持127)个网络,占有最左边的一个字节(8位)。高位(0)表示识别这种地址的类型。 B类地址使用左边两个8位用来网络寻址。两个高位(10)用于识别这种地址的类型,其余的14位用作网络地址,右边的两个字节(16位)用作网络节点。 C类地址是最常见的Internet地址。三个高位(110)用于地址类型识别,左边三个字节的其余21位用于寻址。C类地址支持1046个网络,每个网络可多达256端点。 D类地址是相当新的。它的识别头是1110,用于组播,例如用于路由器修改。 E类地址为时延保留,其识别头是11110。1.1A类地址 0.xx.xx.xx ~ 126 阅读全文
posted @ 2011-09-01 16:02 hnrainll 阅读(6877) 评论(0) 推荐(1)
摘要:#hello.pydef sayHello(): str="hello" print(str);if __name__ == "__main__": print ('This is main of module "hello.py"') sayHello()python作为一种脚本语言,我们用python写的各个module都可以包含以上那么一个累死c中的main函数,只不过python中的这种__main__与c中有一些区别,主要体现在:1、当单独执行该module时,比如单独执行以上hello.py: python 阅读全文
posted @ 2011-09-01 14:09 hnrainll 阅读(63306) 评论(1) 推荐(6)
摘要:单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?.1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(Point to 阅读全文
posted @ 2011-09-01 12:25 hnrainll 阅读(2616) 评论(0) 推荐(0)
摘要:电路交换:通常是在物理层,譬如打电话等。此时整个物理线路的带宽是由该通讯独占的。虚电路交换:在一条物理线路上虚拟出多个逻辑的通道,此时该物理线路上可以有多条通讯量,每条通讯独占一条虚拟电路。多个虚拟电路通过时分/频分等多路复用方式复用到一条物理链路上。 阅读全文
posted @ 2011-09-01 11:31 hnrainll 阅读(4655) 评论(1) 推荐(0)
摘要:传统教育以老师为中心,新东方以学生为中心。新东方认为,所有的能量都在学生身上,只要学生自己想学,才能真正学好,老师要设法调动学员的积极性。新东方对老师有四点要求:教学内容、激情、励志、幽默。 教学内容方面,要求老师在上课时要内容丰富,基础扎实,讲课熟练,切合主题。激情是贯穿整个教学过程的一种感染力,一种让学生感到老师在拼命的精神。激情是通过老师的行为、语言、语调和发自内心的对教学的热爱体现出来的。新东方的很多老师在上课时常常因为自己的努力而感动学生。新东方流行着一句话:只有让自己感动的课,才能感动你的学生。激情是打动人心最重要的因素。励志就是用那些让人听了热血沸腾的语言、故事和格言使学生从痛. 阅读全文
posted @ 2011-09-01 11:22 hnrainll 阅读(300) 评论(0) 推荐(0)
摘要:(1)在传输方式上,虚电路服务在源、目的主机通信之前,应先建立一条虚电路,然后才能进行通信,通信结束应将虚电路拆除。而数据报服务,网络层从运输层接收报文,将其装上报头(源、目的地址等信息)后,作为一个独立的信息单位传送,不需建立和释放连接,目标结点收到数据后也不需发送确认,因而是一种开销较小的通信方式。但发方不能确切地知道对方是否准备好接收,是否正在忙碌,因而数据报服务的可靠性不是很高。 (2)关于全网地址:虚电路服务仅在源主机发出呼叫分组中需要填上源和目的主机的全网地址,在数据传输阶段,都只需填上虚电路号。而数据报服务,由于每个数据报都单独传送,因此,在每个数据报中都必须具有源和目的主机的. 阅读全文
posted @ 2011-09-01 11:16 hnrainll 阅读(3136) 评论(0) 推荐(1)
摘要:#!/usr/bin/python#find primes#usage: ./findprimes.py MAXimport sysdef findprimes(max): '''list find prime(int max) ''' primes = [2] for i in range(3,max): for j in range(2,i): #x = raw_input('\n') if i%j == 0: break elif j+1 ... 阅读全文
posted @ 2011-09-01 09:28 hnrainll 阅读(616) 评论(0) 推荐(0)