下面是小编整理的网络和 编程基本知识(共含5篇),希望能帮助到大家!同时,但愿您也能像本文投稿人“岩祁”一样,积极向本站投稿分享好文章。
Windows 是一个“基于事件的,消息驱动的”操作系统,
在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动、单击鼠标等)该动作就会触发一个相应的“事件”
系统每次检测到一个事件时,就会给程序发送一个“消息”,从而使程序可以处理该事件。
每个Windows 应用程序都是基于事件和消息的,而且包含一个主事件循环,它不停地、反复地检测是否有用户事件发生。每次检测到一个
用户事件,程序就对该事件做出响应,处理完再等待下一个事件的发生。
Windows 下的应用程序不断地重复这一过程,直至用户终止程序,用代码来描述实际上也就是一个消息处理过程的while循环语句。
下面便简单介绍一下与 Windows 系统密切相关的几个基本概念:
1:窗口:这是我要说的第一个概念。窗口是Windows本身以及Windows 环境下的应用程序的基本界面单位,但是很多人都误以为只有具有
标题栏、状态栏、最大化、最小化按钮这样标准的方框才叫窗口。其实窗口的概念很广,例如按钮和对话框等也是窗口,只不过是一种特殊化
窗口罢了。
从用户的角度看,窗口就是显示在屏幕上的一个矩形区域,其外观独立于应用程序,事实上它就是生成该窗口的应用程序与用户间的直观
接口;从应用程序的角度看,窗口是受其控制的一部分矩形屏幕区。应用程序生成并控制与窗口有关的一切内容,包括窗口的大小、风格、位
置以及窗口内显示的内容等。用户打开一个应用程序后,程序将创建一个窗口,并在那里默默地等待用户的要求。每当用户选择窗口中的选
项,程序即对此做出响应。
2:程序:通常说的程序都是指一个能让计算机识别的文件,接触得最多的便是.exe型的可执行文件.
3:进程:说到进程,学过《操作系统》的人都很清楚,所谓进程就是应用程序的执行实例(或称一个执行程序) 需要注意的是:进程是
程序动态的描述,而上面说到的程序是静态的描述,两者有本质的区别。举个例子,从网上 Down了一个瑞星杀毒软件到C盘但没有运行,那
个.exe 可执行文件叫做程序,它是一个二进制码的文件。一旦双击了exe文件图标运行程序,那个“正在运行着的瑞星杀毒”便称为进程,它
在双击的那一刻被系统创建,当你关机或者在任务栏的图标上单击鼠标右键选“退出”时,进程便消亡,彻底结束了生命。进程经历了由“创
建”到“消亡”的生命期,而程序自始至终存在于你的硬盘上,不管你的机器是否启动。
4:线程:线程是进程中的一个执行单元,同一个进程中的各个线程对应于一组CPU指令、一组CPU寄存器以及一堆栈。进程本来就具有动态
的含义,然而实质上是通过线程来执行体现的,从这个意义上说,Windows 中进程的动态性意义已经不是很明显了,只算是给程序所占的资源
划定一个范围而已,真正具有动态性意义的是线程,
5:消息:我们几乎做每一个动作都会产生一个消息,鼠标被移动会产生WM_MOUSEMOVE消息,鼠标左键被按下会产生WM_LBUTTONDOWN的消
息,鼠标右键按下便产生WM_RBUTTONDOWN消息等等。所有的这些都可以通过GetMessage,SendMessage等函数得到.
6:事件:如在程序运行的过程中改变窗口的大小或者移动窗口等,都会触发相应的“事件”。
7:句柄:单单一个“柄”字便可以解释它的意思了,我们天气热摇扇子的时候只要抓住扇柄便可以控制整个扇子的运动了,在程序中也
差不多是这个意思。通常一个句柄就可以传递我们所要做的事情。有经验的成员肯定清楚,编写程序总是要和各种句柄打交道的,句柄是
系统用来标识不同对象类型的工具,如窗口、菜单等,这些东西在系统中被视为不同类型的对象,用不同的句柄将他们区分开来。
C++ 教材中给句柄下的定义是:“在Win32里,句柄是指向一个无值型对象(void *)的指针,是一个4字节长的数据”。从结构
上看,句柄的确是一个指针,尽管它没有指向用于存储某个对象的内存位置,而实际上句柄指向的是一个包含了对该对象进行的引用的位置。
在编程时,只要抓住了对象的句柄就可以对该对象进行操作了.
8:API与SDK:API是英文 Application Programming Interface 的简称,意为“应用程序接口”,泛指系统为应用程序提供的一系列接
口函数。其实质是程序内的一套函数调用,在编程的时候可以直接调用,而不必知道其内部实现的过程,只知道它的原型和返回值就可以
了.
SDK是英文 Software Development Kit 的缩写,指“软件开发工具包”,在防火墙的设计中就经常涉及到SDK。
第二节 Win API编程简介
下面介绍一下WIN API.
我们需要自己编写一个工具时,必然会用到很多操作windows和控制windows的函数,这些函数就是windows API.
API是Application Progamming Interface的缩写.就是说API是一系列已经定义的在windows内部的函数,是应用程序和系统之间的
桥梁,应用程序通过调用API来请求系统完成一系列的任务.窗口,菜单,文件操作等都是通过API实现的.
WIN32 API就是WINDOWS 32位平台的应用程序接口.现在可视化编程工具提供了大量控件,他们代替了API的功能.这些控件都是构建
在WIN32 API之上的.是封装了的API函数集合.但是对于比较复杂和特殊功能(想我们的 编程)来说,就必须用API函数来实现.
WIN API存放在动态链接库(DLL)中,在98系统中,有32位的GDI32.DLL,KERNEL32.DLL,16位的GDI.EXE,KRNL386.EXE.API就存放在这些
姓 名: 国籍: 中国
目前所在地: 广州 民族: 汉族
户口所在地: 湛江 身材: 170 cm 58 kg
婚姻状况: 未婚 年龄: 22 岁
培训认证: 诚信徽章:
求职意向及工作经历
人才类型: 应届生
应聘职位: 金融/证券/保险类:理财顾问、建筑/房地产/物业管理类:房产销售、工业/工厂类:采购专员
工作年限: 0 职称: 无职称
求职类型: 全职 可到职日期: 随时
月薪要求: 1500— 希望工作地区: 广州 深圳 广东省
个人工作经历: 公司名称: 太平洋人寿保险公司起止年月:-12 ~ -02
公司性质: 国有企业所属行业:金融,保险
担任职务: 业务代表
工作描述: 保险营销,包括:客户开拓,跟踪,计划书制作及促成,售后服务等等。
离职原因:
公司名称: 番禺大岗镇顺伟隆超市(兼职)起止年月:2009-07 ~ 2009-09
公司性质: 私营企业所属行业:商业服务
担任职务: 家电部销售员
工作描述: 负责销售。
离职原因:
教育背景
毕业院校: 广东科贸职业学院
最高学历: 大专 毕业日期: 2010-07-01
所学专业一: 网络编程 所学专业二:
受教育培训经历: 起始年月 终止年月 学校(机构) 专 业 获得证书 证书编号
-09 2010-06 广东科贸职业学院 网络编程
2009-09 2010-01 广东科贸职业学院 网络编程 photoshop中级
2009-12 2010-02 太平洋人寿保险公司 保险从业人员培训 保险代理人资格证书 00200912440000114677
语言能力
外语: 英语 一般
国语水平: 优秀 粤语水平: 优秀
工作能力及其他专长
个人技能:
●熟悉国际和国内政治、时事动态和经济事务。
●熟练掌握电脑基本操作技术。包括word、excel、以及internet网络等操作;
●本人热爱羽毛球、篮球等球类运动。
详细个人自传
诚信、坚持,是我的个性。 诚信,是人在社会中生存、发展的基础;唯有诚信,才能得到别人的信赖,更好地完成自己的工作。坚持,就是不轻言放弃,以最热忱的.态度,最大的努力投入到工作和生活中去。
严谨、仔细是我的工作态度。 对于工作,我一直并将继续要求自己以最认真的态度、最大的耐心来对待。因为我深知,细节决定成败。
终身学习,是我的人生哲学。 现代社会是一个机遇与挑战并存的社会。唯有坚持学习,汲取新的知识和经验,不断提升个人素质与能力,才能抓住机遇、迎接挑战,在所处的职位上作出更大的贡献。
未来,我希望找到一份能够充分发挥我个人能力的、具备较大发展潜力的工作,并将它发展成为我的事业。我衷心希望能为贵公司工作,并在贵公司成就我的事业!
个人简历
姓名
居住地:
电 话:
E-mail:
学 历:
专 业:网络编程
学 校:
自我评价
求职意向
电脑能力:
所获奖项
社会经验
校内职务
语言能力
英语(良好):听说(良好),读写(良好)
尊敬的领导:
您好!首先感谢您在百忙之中抽空查阅我的求职信,同时也希望您能给我一个展现自我的机会。以下是我的个人简单介绍。
我参加工作已经两年多了,全部工作都与电脑有关。在此之前,我所参加的.全部工作都是非电脑行业,因为我认为:电脑的作用在于它可以运用到各行各业,如果懂电脑的人都只在电脑行业工作,电脑就失去了它存在的意义。我以前从事的工作都是以电脑排版为主,后来从事电脑辅助办公,也是以排版为主,但决非一般的排版,我总是结合word、wps、coreldraw、photoshop、access等软件来完成的。
所以要放弃电脑辅助办公工作而选择编程和网络编程方面的工作,是因为——11月中旬,我失去了当时的工作(原因是现在的公司停止了经营活动),很快就有另外一家农业企业要我去参加工作,但在我和其负责人接触的过程中发现,他们并没有把电脑作为一个重要的工具来使用,在他们看来,电脑相关工作就像扫地的和看大门的,不会影响到企业的赢利与否,可以为他们赚钱的是生产和销售人员,其他的都是次要的。我试着想改变他的这种看法,却发现很难,他无法理解合适的宣传和形象定位会给他带来什么。于是我放弃了电脑辅助办公工作。
参加编程和网络编程方面的工作,我还从来没有过,也没有多少心理准备。因为以前我的所有活动都是业余的,而且因为缺乏交流而有些闭门造车的感觉。所以要寻找这样的工作是因为我觉得我在电脑编程方面有着相当的兴趣、灵感、能力和潜力,我适合这样的工作。
编程方面,我现在懂vb、.net、acess、vc等,并且编写过大大小小十数个软件,包括数据库应用和多媒体应用等,详情可以到本人所建主页查看。
网络编程方面,我有一定的网页制作基础,有个人主页和未来农业网建设的经验,编程语言我懂asp、cgi等。
当然,在编程和网络编程方面我毕竟还缺乏经验,还处在业余的阶段,需要专业编程人员的指点和培养,需要大公司的栽培。
此致
敬礼!
通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,并为自己能顺利与社会环境接轨做准备。[实习任务]Linux下网络服务器开发;本文总结了我对Linux下网络服务器模型的认识。[实习内容]一.循环服务器1.循环服务器在同一个时刻只可以响应一个客户端的请求,对多个客户程序的处理是采用循环的方式进行; 2. UDP循环服务器的实现非常简单:UDP服务器每次从套接字上读取一个客户端的请求,处理, 然后将结果返回给客户机;2.1.算法如下: socket(...);
bind(...);
while(1)
{
recvfrom(...);
process(...);
sendto(...);
}3. TCP循环服务器的实现也不难:TCP服务器接受一个客户端的连接,然后处理,完成了这个客户的所有请求后,断开连接;3.1. 算法如下:
socket(...);
bind(...);
listen(...);
while(1)
{
accept(...);
while(1)
{
read(...);
process(...);write(...);
}
close(...);
}3.2. TCP循环服务器一次只能处理一个客户端的请求.只有在这个客户的所有请求都满足后, 服务器才可以继续后面的请求.这样如果有一个客户端占住服务器不放时,其它的客户机都不能工作了.因此,TCP服务器一般很少用循环服务器模型的. 二. 并发服务器1. 为了弥补循环TCP服务器的缺陷,人们又想出了并发服务器的模型。 并发服务器的思想是每一个客户机的请求并不由服务器直接处理,而是服务器创建一个 子进程来处理;2.使用并发服务器可以使服务器进程在同一个时刻有多个子进程和不同的客户程序连接、通信;在客户程序看来,服务器可以同时并发地处理多个客户的请求; 3.算法如下:socket(...);
bind(...);
listen(...);
while(1)
{
accept(...);
if(fork(..)==0)
{
close(...);while(1)
{
read(...);
广东应届生大学网在线编辑整理本文。
process(...);
write(...);
}
close(...);
exit(...);
}
close(...);
} 4. TCP并发服务器可以解决TCP循环服务器客户机独占服务器的情况,改善了对客户程序的响应速度; 不过也同时带来了一个不小的问题:为了响应客户机的请求,服务器要创建子进程来处理, 而创建子进程是一种非常消耗资源的操作,这明显增加了系统调度的开销;5. 为了解决创建子进程带来的系统资源消耗,人们又想出了多路复用I/O模型.5.1.该模型一般用函数select和相关的四个宏定义:int select(int fd,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout)
void FD_SET(int fd,fd_set *fdset)
void FD_CLR(int fd,fd_set *fdset)
void FD_ZERO(fd_set *fdset)
int FD_ISSET(int fd,fd_set *fdset)5.2. 一般的来说当我们在向文件读写时,进程有可能在读写时候阻塞,直到一定的条件满足. 比如我们从一个套接字读数据时,可能缓冲区里面没有数据可读(通信的对方还没有 发送数据过来),这个时候我们的读调用就会等待(阻塞)直到有数据可读.如果我们不 希望阻塞,我们的一个选择是把socket设置为非阻塞模式来实现;int socketfd;socketfd=socket(AF_INET,SOCK_STREAM,0);fcntl(socketfd,F_SETFL,O_NONBLOCK);通过设置socket为非阻塞模式,可以实现“轮循”多个socket,当企图从一个没有数据等待处理的非阻塞socket读取数据时,函数立即返回,但是这种“轮循”会使CPU处于忙等待方式,降低了性能,select函数解决了这个问题;5.3. 在我们调用select时进程会一直阻塞直到以下的一种情况发生. 1)有文件可以读.2)有文件可以写.3)超时所设置的时间到;5.4.算法如下: 初始化(socket,bind,listen
while(1)
{ 设置监听读写文件描述符(FD_*);
调用select;
如果是倾听套接字就绪,说明一个新的连接请求建立
建立连接(accept);
加入到监听文件描述符中去;
否则说明是一个已经连接过的描述符
进行操作(read或者write); }
多路复用I/O
[网络编程实习报告]
★ 网络编程实习报告
★ 初二生物基本知识